GSOC 2012: Difference between revisions

From GNU MediaGoblin Wiki
Jump to navigation Jump to search
No edit summary
(More kuneco stuff)
Line 21: Line 21:
* LDAP or other central authentication system plugin
* LDAP or other central authentication system plugin
* "podcast feed" support
* "podcast feed" support
* [http://lists.mediagoblin.org/pipermail/devel/2011-December/000107.html Kuneco] development (OStatus federatoin library)
** Next generation lxml-based feed support
** PubSubHubbub hub WSGI application
* Improved commenting
* Improved commenting
** Comment feeds
** Comment feeds
Line 29: Line 26:
*** By e-mail
*** By e-mail
*** "you have a new comment"?
*** "you have a new comment"?

== Kuneco development (OStatus federation library) ==

We've announced interest in building a library for making OStatus development easy, but not much has happened on it yet.

http://lists.mediagoblin.org/pipermail/devel/2011-December/000107.html

Some things we know we'd like:

=== Next generation lxml-based feed support ===

We'd like a replacement for the atom generation libraries we're already using from werkzeug. Not much has happened on it yet, though an almost verbatim lxml replacement was written. Nonetheless, we'd like a more "chainable" system that can allow for modification of individual feed nodes as well as the whole tree, either by simple funciton chaining (passing each xml node for the feed "entry" along through several functions) or something way more complex, using events and building a pipeline, a-la gstreamer.

This is important as different media types will have different needs and will need to modify the individual entries, and it also might be possible to build the work of one type of feed off of another (pubsubhubbub/salmon/or etc off of a more plain atom feed?). Discussion about this has already somewhat happened amongst mediagoblin developers, and a potential/interested student is encouraged to ask more on IRC.

=== Salmon / Magic signatures support ===

=== PubSubHubbub hub WSGI application ===

We'd like to be able to provide a WSGI server for pushing PubSubHubbub updates along.

It might be great if the database backend (for storing subscribers, etc) could be fairly generic, providing a default sqlalchemy backend, but providing an interface design so that different backends for different applications could be plugged in nicely.


== Media submission improvements ==
== Media submission improvements ==
Line 86: Line 105:
* The starting system should probably be simple, so that it can later be exteneded in any needed way. Or made easily compatible with anything OStatus might come up for distributed access.
* The starting system should probably be simple, so that it can later be exteneded in any needed way. Or made easily compatible with anything OStatus might come up for distributed access.


== timeline ==
== Personal timeline ==

Very short description:
Very short description:
"See what's new around you". Have page showing news about your media, your friends, your subscribed feeds, etc. schendje had some ideas on this...
"See what's new around you". Have page showing news about your media, your friends, your subscribed feeds, etc. schendje had some ideas on this...

Revision as of 20:41, 4 March 2012

We are applying to be a mentoring organization for Google Summer of Code 2012 this year.

At the time of writing we haven't been accepted yet, but here are some ideas the team had collected:

How do I apply as a student?

Well, we need to be accepted as a mentoring org first :)

But then:

  • Submit your application (details coming soon)
  • Join us on IRC and on our mailing lists
  • Set up a development environment via our HackingHowto

It's important that you communicate... most MediaGoblin communication happens on IRC, so you should join there and discuss!

Ideas

Some loose ideas immediately, and then more detailed ideas below:

  • More thorough tests; add test coverage script
  • LDAP or other central authentication system plugin
  • "podcast feed" support
  • Improved commenting
    • Comment feeds
    • Notification about new comments
      • By e-mail
      • "you have a new comment"?

Kuneco development (OStatus federation library)

We've announced interest in building a library for making OStatus development easy, but not much has happened on it yet.

http://lists.mediagoblin.org/pipermail/devel/2011-December/000107.html

Some things we know we'd like:

Next generation lxml-based feed support

We'd like a replacement for the atom generation libraries we're already using from werkzeug. Not much has happened on it yet, though an almost verbatim lxml replacement was written. Nonetheless, we'd like a more "chainable" system that can allow for modification of individual feed nodes as well as the whole tree, either by simple funciton chaining (passing each xml node for the feed "entry" along through several functions) or something way more complex, using events and building a pipeline, a-la gstreamer.

This is important as different media types will have different needs and will need to modify the individual entries, and it also might be possible to build the work of one type of feed off of another (pubsubhubbub/salmon/or etc off of a more plain atom feed?). Discussion about this has already somewhat happened amongst mediagoblin developers, and a potential/interested student is encouraged to ask more on IRC.

Salmon / Magic signatures support

PubSubHubbub hub WSGI application

We'd like to be able to provide a WSGI server for pushing PubSubHubbub updates along.

It might be great if the database backend (for storing subscribers, etc) could be fairly generic, providing a default sqlalchemy backend, but providing an interface design so that different backends for different applications could be plugged in nicely.

Media submission improvements

We could really afford to improve the state of media submission for users. A few possible improvements...

Drag and drop file submission

It would be nice to be able to take advantage of HTML5 drag and drop when uploading media. This could be convenient and pleasant for certain types of desktop users.

Multi-file submission tool

Particularly combined with the above, a multi-file submission tool would be great. For example, if I wanted to upload a whole bunch of photos of my friends from a trip, I might want to be able to do so without having to submit, move back to submit, move back to submit again. This would be particularly nice if combined with drag and drop file submission above.

OpenPhoto has a really great interface for this sort of thing; it might be nice to look there as an example.

"Uploading" status bar / improved ajaxiness

When uploading large files (videos, etc), it might be cool to have a way to see how much uploading time remains.

This might require some complex work, might be useful to look at http://pythonpaste.org/modules/progress.html

Improved media panel

We currently have a (mostly secret) media panel that displays information about media being processed at a URL like:

 /u/{username}/panel/

There could be some improvements here:

  • Make this promient: next to the user's name, it might be nice to state something about information of uploads in progress, if there are any.
  • Improve display information, including "progress" reports, if there are any
  • A way to "clear" information about failed uploads once you've reviewed them
  • Make it look nice ;)

Admin panel

Administrators of more "public" sites might need some good tools to moderate the content on said sites. Some ideas:

  • A nice interface for searching for and taking actions on media (not so important, as admins can kind of already do this as if they were the users)
  • A way to suspend a user's account
  • A way to send a message to a particular user (like, if you're thinking of suspending their account ;))
  • DMCA and other "abuse" compliance: it might be good if there could be an (optional) feature where visitors to the site can "flag" materials that are illegal, whatever. Provide an interface for reviewing these and taking action.
  • Hooks that allow for adding extra admin tools for plugins (yeah yeah, we don't really have plugins yet though)

"ACL" — Access Control Lists

Short description: The idea basicly is: Some people only want to show some media to certain people. And possibly allow comments only from them.

Some details:

  • As OStatus isn't there yet, this all will be local only, for now.
  • Sketching up details of this will be part of the project.
  • Details might be things like:
    • Adding people to a group (say "family") first and only adding groups to a media's "viewing list".
    • Multiple permissions, like "view", "may comment", "may add tags", ...
  • The starting system should probably be simple, so that it can later be exteneded in any needed way. Or made easily compatible with anything OStatus might come up for distributed access.

Personal timeline

Very short description: "See what's new around you". Have page showing news about your media, your friends, your subscribed feeds, etc. schendje had some ideas on this...