De-activation Notice
This codebase has been merged into the network repository.
Development moved to https://github.com/mozilla/network
License: MIT License
This codebase has been merged into the network repository.
Expose the News model via the API
Allow administrators to set up an ordering scheme for resources. For e.g. they should be able to control the order in which people are shown in the front-end.
This one is a bit convoluted to solve (it's a general problem with ORMs). We probably want to create an integer field in the model and use this library to handle the ordering logic for the admin view. We can customize the UI if needed.
Add non-django authentication to the admin interface.
Create the people app
two options here:
Elicit the schema that authors of pages need to follow in order to create a new page specific to a resource (like Offerings).
Enforce a specific language that needs to be followed as well, i.e. Markdown/HTML, etc., along with any restrictions we want to impose on it.
settings.py
specific to whatever provider we're going withAdmins should be able to mark people as "Featured".
If it's at all possible, can this state show up on the "reorder" card view?
On a post-save hook in Mezzanine, trigger Jenkins to build and deploy a fresh site based on the cached (last committed) code and the new REST data.
Create application and add to INSTALLED_APPS
Bio is only displayed on Featured cards, so this field should work just like the "Quote" field—where it only appears if the Featured box is selected.
Apologies if this has been discussed elsewhere.
We need to determine how staff members will trigger an update to the production site based on changes to the CMS. Ideally they have a way to preview their changes on a staging server, and they can update the site without engineer involvement.
Authors using the administrative interface to publish new resources (pages, news, featured offerings, etc.) should be able to control when the resource is visible on the front-end by setting a publish_date
similar to the corresponding functionality on Wordpress
We can possibly just have that stored in the model and let the admins update it. We can customize the view to do checks based on the date and send back the response accordingly. Caveats include dealing with timezones. We might want to expose the local time (or give them a choice) in the admin interface (so that the admins use the time that is relative to them) and we convert it to UTC time for calculations. This will involve us storing timezone data as well in the db.
There is a picture on my desktop, it needs to be a lucid chart.
According to the the schema, we should also allow admins to enter the publish date and expiry date for our three models.
We probably don't need to expose these through the serializer. However, we should let the view filter out the right models to serve based on these dates.
Model schema found here: https://github.com/mozilla/network/tree/master/source/json
Allow authentication via Github with permissions scoped using teams.
Create the scaffolding for a new django project sans any apps.
Add data from existing json file into staging/production databases: https://github.com/mozilla/network/blob/master/source/json/people.json
We're trying to decide on what auth strategy to use for the network-api and for our CMS work in general. It would be good to consolidate our Auth strategy across our CMS implementations.
Our current thought is to use Github authentication here.
Rationale for Using Github
Network Pulse uses Google Auth instead. We would like to understand the rationale behind choosing that for the pulse api as well as understanding the pros/cons of using google auth vs. github auth vs. something else.
Add serializers and views for GET one/all
Not everyone is working with us in relation to their employer/organization, so would be good to be able to leave this blank in some cases.
Allow administrators to upload images for resources that need an image in their models. For e.g., each People model needs a photo of the person. Admins should be able to upload this via the admin interface.
Use S3 to back this. Use https://github.com/boto/boto3 to allow uploading to s3. Have an image_url
to store the resulting url.
Add app.json
and Procfile
and create the staging/production instances on Heroku.
Currently, the front-end displays bio as a list. This is a bit weird on the back-end as it suggests making "bio" a complex data structure, the implication being figuring out how to show this via the admin interface in a way that is not confusing.
Since this is the first "text-rich" field that we have encountered, let's have a decision on what type of data structure this should be.
It would be nice to have a decision on this soon so that we can finish off the people app without being blocked on this.
cc @xmatthewx, @simonwex, @gvn, @alanmoo, @cadecairos
Create application and add to INSTALLED_APPS
Text field for username on twitter. URL for linkedin?
Allow team based permissions for admin views via AuthZ.
Add:
Wordpress allows you to drag-and-drop images into your posts and pages. We should allow something similar.
We would need to figure out the UX for this but can probably keep it simple. Again, use S3 to back the images using Boto3. Generate the url and insert it into their page data somehow. This will mainly involve using some JS/HTML to get this working.
This epic tracks issues that allow administrators to create all the data needed to set up a stand-alone page representing a resource.
Model schema found here: https://github.com/mozilla/network/tree/master/source/json
The UX for both the Affiliations and Links fields aren't appropriate for the use case.
Tracking META bug for the News application
Tried to upload a couple org logos that were svgs and got this error: "Upload a valid image. The file you uploaded was either not an image or a corrupted image."
I can't see the bio field being displayed right now, so I can't confirm this, but I'm assuming the bullet points I'm adding (using markdown) aren't going to render.
I'm not sure if we'll solve this on the back end in Django, on the front end, or simply by requiring that the content in this field not include bullets.
Right now Django happily defaults to the fallback image url.
Enable Travis. For now, we can simply run flake8 for linting until we add actual tests.
Reference: https://github.com/mozilla/api.mozillascience.org/blob/master/.travis.yml
This epic tracks all the administrative requirements for the CMS that are needed for it to be usable by staff.
This focuses on requirements for the Network site specifically.
Wrap the app in docker to avoid python/django OS-specific issues.
Create the Opportunity app, models, views, serializers
Create model and migration
Create Upcoming events app
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.