This is the core policy package of the 2015 reboot of plone.org site project.
Other related packages:
- ploneorg.theme
Based on Plone 5.
The new plone.org theme are Bootstrap 3.x based, using LESS as a CSS preprocessor. We are using bower to track any library/dependency in the theme.
This is the main focus of the relaunch of the site. The site should be centered on the Plone project contributors: developers, collaborators and friends.
The site will sport a collaborator profile pages that will show all the contributions and merits of each the individuals.
As usual, it will contain the information relevant of the Foundation and its activity.
It will have the information of the Foundation Members. The Plone related news and events.
The old documentation will be left in the legacy site, as it lives now in the amazing docs.plone.org.
The Plone Software Center, products and addons information will be deprecated. Look at paragon.plone.org for add-ons.
The process works using a collective.transmogrifier pipeline on the import side. The code is in:
https://github.com/collective/ploneorg.migration
The export part is performed via collective.jsonify-like views but due to it's aimed to work on very old versions of Plone we didn't wanted to deal with all the upstream process we decided to forked it and customize it for plone.org. You can find it here:
https://github.com/collective/ploneorg.jsonify
We need a working buildout of the current Plone.org instance with a copy of the production site:
https://github.com/plone/Products.PloneOrg
and we should add the ploneorg.jsonify egg to the list of required eggs and mr.developer auto-checkout list. Then it will be ready for exporting content.
On the import side, we need a new plone.org buildout working and a brand new instance. There are a view to trigger the migration:
@@ploneorg_migration_main
and the configuration of the pipeline lives in: /src/ploneorg.migration/src/ploneorg/migration/browser/ploneorg.cfg
So basically you have to configure the [catalogsource] section accordingly by informing the location of the source instance and the sections to be migrated, for example:
[catalogsource]
blueprint = ploneorg.migration.catalogsource
remote-url = http://localhost:8081
remote-username = admin
remote-password = admin
remote-root = /plone.org
catalog-path = /plone.org/portal_catalog
catalog-query = {'path': {'query': '/plone.org/foundation'}}
remote-skip-paths = /foundation/members
The migration should go smoothly, for the content in:
/foundation
/news
/events
that are already tested.
There is a helper script that lives in the bin folder called update_contributions. It has the follow arguments:
usage: update_contributions [-h] [--config CONFIG]
[--upload path/to/contributions.xxx.json]
[--fetch-only]
[--fetch-specific {issues,contributions,commits,stackoverflow,pypi,twitter} [{issues,contributions,commits,stackoverflow,pypi,twitter} ...]]
[--debug] [--debug-limit DEBUG_LIMIT]
optional arguments:
-h, --help show this help message and exit
--config CONFIG Configuration file
--upload path/to/contributions.xxx.json
Only upload the data from the specified file. (Even if
you give further command line arguments!)
--fetch-only Only collect the data. Do not upload it to plone
--fetch-specific {issues,contributions,commits,stackoverflow,pypi,twitter} [{issues,contributions,commits,stackoverflow,pypi,twitter} ...]
Collect only given specific parts. Do not upload it to
plone
--debug Print debug output
--debug-limit DEBUG_LIMIT
Limit the number of users/obj fetched for debugging
There is a modificator in the script that allows you to push the data from a file and other that limits the numbre of users/repos fetched which are quite useful for debugging.
You should provide a configuration file that should match the one in the contributions.cfg.in. Make a copy and modify its values as needed. You will need a valid personal Github token (or a developer application one). You can get one here:
https://github.com/settings/tokens
The configuration look like this:
[general]
plone_url = http://localhost:8080/ploneorg/
datadir = ./var/contributor_data
admin_user = admin
admin_password = admin
plone_package = Products.CMFPlone
[github]
token = <here should be the Github token>
# days
newissues_delta = 1
# weeks
commits_delta = 1
# space spearated list of labels to be considered as blockers
blocker_labels = blocker critical
Make sure that all the values matches de ones in your site.
note:
At the moment only the Github, Pypi, Stackoverflow and Twitter stats are available.
The site has a view update-contributor-data that has the job of update all the data structures with the recently retrieved data.