Difference between revisions of "SoC webservices revisited"
m (added a link to Webservices API/Media page) |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | This is one of the projects to be implemented during the [[Google Summer of Code]] 2009. | |
− | == Incentive == | + | '''Student:''' Phaneendra Kaddi, '''Mentor:''' Ramnath Iyer |
+ | |||
+ | |||
+ | == Project info and advancement during Summer of Code == | ||
+ | |||
+ | * [[Webservices API/Media|To-do list and Progress]] | ||
+ | |||
+ | (more to come) | ||
+ | |||
+ | |||
+ | == Pre-Summer of Code idea discussion & preparation == | ||
+ | |||
+ | === Incentive === | ||
As part of the 2007 Summer of Code, a webservices API has been [[SoC_webservices_publishing|implemented]] in Geeklog. It provides the basic framework (RESTful communication, authentication) and implements the Atom Publishing Protocol (RFC 5023, ''Atompub'') for stories and the plugin API (with the Static Pages plugin as a sample implementation). | As part of the 2007 Summer of Code, a webservices API has been [[SoC_webservices_publishing|implemented]] in Geeklog. It provides the basic framework (RESTful communication, authentication) and implements the Atom Publishing Protocol (RFC 5023, ''Atompub'') for stories and the plugin API (with the Static Pages plugin as a sample implementation). | ||
Line 8: | Line 20: | ||
− | == Areas of Interest == | + | === Areas of Interest === |
The following areas would appear to make useful additions to the webservices API: | The following areas would appear to make useful additions to the webservices API: | ||
Line 21: | Line 33: | ||
− | == Details == | + | === Details === |
− | === Image Upload === | + | ==== Image Upload ==== |
When using the Admin's version of the story editor, a user can upload images that are to be used in the article (includes automatic thumbnail creation, link to the full-size version, etc.). This has been left out in the original implementation of the webservices API for the stories. | When using the Admin's version of the story editor, a user can upload images that are to be used in the article (includes automatic thumbnail creation, link to the full-size version, etc.). This has been left out in the original implementation of the webservices API for the stories. | ||
Line 29: | Line 41: | ||
Atompub does have support for images and other types of media (''Media Resources''). Therefore, it should be possible to implement the image upload via the webservices API so that an Atompub client can be used to publish articles with images in them. | Atompub does have support for images and other types of media (''Media Resources''). Therefore, it should be possible to implement the image upload via the webservices API so that an Atompub client can be used to publish articles with images in them. | ||
− | === Story Submissions === | + | ==== Story Submissions ==== |
A Geeklog site allows visitors to submit stories for publication on the site. These will usually have to be approved by a moderator first. Story submissions are stored in a separate submission queue until approved (or rejected). The webservices API should be extended to allow users to submit stories and moderators to approve or reject (delete) submissions. | A Geeklog site allows visitors to submit stories for publication on the site. These will usually have to be approved by a moderator first. Story submissions are stored in a separate submission queue until approved (or rejected). The webservices API should be extended to allow users to submit stories and moderators to approve or reject (delete) submissions. | ||
− | Since moderation of submissions is also available for plugins (through Geeklog's plugin API), it would be | + | Since moderation of submissions is also available for plugins (through Geeklog's plugin API), it would be preferable if this could be implemented in such a manner that webservices access is also available for plugins. |
To be discussed: Whether to expose the existence of a submission queue or not. It may make sense to treat submissions as normal entries and only set the "draft" flag for them. | To be discussed: Whether to expose the existence of a submission queue or not. It may make sense to treat submissions as normal entries and only set the "draft" flag for them. | ||
− | === Comments === | + | ==== Comments ==== |
Comments by readers are supported for stories and plugins using the comment plugin API (e.g. Polls, Static Pages). There should be a way for users to submit (and possibly edit) their comments through the webservices API. | Comments by readers are supported for stories and plugins using the comment plugin API (e.g. Polls, Static Pages). There should be a way for users to submit (and possibly edit) their comments through the webservices API. | ||
− | Note: | + | Note: Editable comments were part a [[SoC_improving_comments_2008|GSoC project in 2008]] and will be available as of Geeklog 1.6.0. |
− | == Level of Difficulty == | + | === Level of Difficulty === |
''medium to high'' | ''medium to high'' | ||
Line 53: | Line 65: | ||
− | == Further Reading == | + | === Further Reading === |
* [[Webservices API]] | * [[Webservices API]] |
Latest revision as of 18:01, 16 May 2009
This is one of the projects to be implemented during the Google Summer of Code 2009.
Student: Phaneendra Kaddi, Mentor: Ramnath Iyer
Contents
Project info and advancement during Summer of Code
(more to come)
Pre-Summer of Code idea discussion & preparation
Incentive
As part of the 2007 Summer of Code, a webservices API has been implemented in Geeklog. It provides the basic framework (RESTful communication, authentication) and implements the Atom Publishing Protocol (RFC 5023, Atompub) for stories and the plugin API (with the Static Pages plugin as a sample implementation).
In this project, we would like the student to look into areas where the webservices could also be added and, possibly, where they need changes or additions.
Areas of Interest
The following areas would appear to make useful additions to the webservices API:
- image upload in stories
- story submissions
- comments
These would appear to make the most sense at this time, to round off the existing functionality of the webservices API and bring it in sync with what can be done through the normal web-based UI.
We are open for suggestions for additional areas where the webservices API could be used, though.
Details
Image Upload
When using the Admin's version of the story editor, a user can upload images that are to be used in the article (includes automatic thumbnail creation, link to the full-size version, etc.). This has been left out in the original implementation of the webservices API for the stories.
Atompub does have support for images and other types of media (Media Resources). Therefore, it should be possible to implement the image upload via the webservices API so that an Atompub client can be used to publish articles with images in them.
Story Submissions
A Geeklog site allows visitors to submit stories for publication on the site. These will usually have to be approved by a moderator first. Story submissions are stored in a separate submission queue until approved (or rejected). The webservices API should be extended to allow users to submit stories and moderators to approve or reject (delete) submissions.
Since moderation of submissions is also available for plugins (through Geeklog's plugin API), it would be preferable if this could be implemented in such a manner that webservices access is also available for plugins.
To be discussed: Whether to expose the existence of a submission queue or not. It may make sense to treat submissions as normal entries and only set the "draft" flag for them.
Comments
Comments by readers are supported for stories and plugins using the comment plugin API (e.g. Polls, Static Pages). There should be a way for users to submit (and possibly edit) their comments through the webservices API.
Note: Editable comments were part a GSoC project in 2008 and will be available as of Geeklog 1.6.0.
Level of Difficulty
medium to high
Implementing both the Image Upload and the Submission Queue is probably too big a project for the Summer of Code. Our estimate is that either of these would require about two thirds of the time of the program.
Students interested in this project should indicate which of the two sub-projects they would like to be working on.
Further Reading
- Webservices API
- Using the Webservices
- RFC 5023: The Atom Publishing Protocol