-
-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Play module directory #25
Comments
One thing we have to be careful of is that Play 1 depends on several REST endpoints served by playframework.com, they have to remain. But, something that we should have done long ago is build a Play 2 module directory in playframework.com. It's never too late - I wonder if anyone in the community would be interested in taking on this project? Here's some use cases
That probably covers it. Some non functional requirements:
|
Also it should probably mention on the existing module pages prominently that the module is for 1.x. If linked from a google search or another page a user could easily be confused. Also, I was exploring modules for RabbitMQ and noticed that https://www.rabbitmq.com/devtools.html links to a 1.x module (https://www.playframework.com/modules/rabbitmq-0.0.9/home) under the "Scala" section. Their documentation is obviously misleading, but we can at least help by being explicit on our end. |
I'm going to offer this as an Outreachy project for Round 11. |
I want suggestions regarding first four use cases mentioned above- The user can sign in using Github. We can implement this using OAuth authentication ( Java OAuth). Once the user is logged in, it will be redirected to the main page of website and there we can provide a UI for the user to upload their developed module from their native system/computer to the website. Now, after submission, we can generate a token ( exclusively for the developer who just uploaded his/her module) and pass it to the admin of the website ( for the validation of that token). Once the token is validated, we can set a boolean flag and use that to allow the module developer to edit module. Is this a good approach or should I think in another way? Thank you. |
In the current implementation, I think there might be some modifications to the existing structure at the database level and will have to perform a data migration as well if we would go with the same structure. It may break the existing 1.x modules directory pages as well. Do we need the new system mentioned above to support existing Play 1.x modules as well? |
1.x modules currently use a simple system that loads from the filesystem: https://github.com/playframework/playframework.com/blob/master/app/services/modules/ModulesLookup.scala#L35. This could easily be moved to a separate "1.x modules" section. @xael-fry any opinion? Flat files stored on GitHub might not be a bad idea, as long as we can satisfy the above use cases. |
I generalized and classified tasks listed above in my forked repo. |
@gmethvin Play 1 use the website and the module section to download/install module. So we could organize it a different way but url should be the same, or at least prepare a migration and update of play 1 to handle the new organisation |
Play Modules DirectoryHere is a compilation of ideas to module directory. What I would like to know about a moduleI think there we can use Github and a file ( Information from Github
Although Github API has a lot of repository information, we should use only what is really needed. This way we can later add other source control repository hosting services (Bitbucket, Gitlab, etc) in the future and there is a bigger chance they also have all the necessary information. Information from
|
@marcospereira Yeah, I totally agree that a separate modules site would be the best way to go, and having a |
Now that "modules" are a thing people are interested in in 2.x, we might want to have the /modules page use/reference the module directory we have at https://www.playframework.com/documentation/2.4.x/ModuleDirectory and the modules documentation at https://www.playframework.com/documentation/2.4.x/Modules.
I would actually prefer to move the 1.x modules page somewhere else altogether and maybe link to it from the new /modules page.
The text was updated successfully, but these errors were encountered: