GithubHelp home page GithubHelp logo

mozilla / make.mozilla.org Goto Github PK

View Code? Open in Web Editor NEW
15.0 15.0 14.0 29.87 MB

A playdoh based django app that runs the webmaker.org site - our events and project listings.

License: BSD 3-Clause "New" or "Revised" License

Ruby 0.04% Shell 0.11% Python 91.21% JavaScript 8.29% Puppet 0.36%

make.mozilla.org's People

Contributors

almet avatar andrewhayward avatar davedash avatar erikrose avatar fidothe avatar fwenzel avatar glogiotatidis avatar kumar303 avatar ozten avatar peterbe avatar ppapadeas avatar rfreebern avatar rossbruniges avatar stasm avatar tantek avatar tofumatt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

make.mozilla.org's Issues

CSS sprites.

We should look at places where we can remove HTTP requests by using sprites instead of individual images.

We need to separate this app into 2 separate apps (at least)

So right now make.mozilla.org contains webmaker.org (currently a fairly simple brochure style site) and the events system - which provides a GEOspatial search interface over our events data.

This required PSQL and a number of rather non-standard dependencies that make it a real pain to get set up on a local machine; and I'm fairly sure in the future this is going to provide rather a lot of pain to our potential contributor community.

What I would like is to split the projects, tools, pages apps out of this repo and making a new playdoh app containing it. We can keep events in here as it's own thing.

Additional considerations (which could turn into separate tickets once the split has been made):

  • ensuring that we redirect all requests to /events/ to the correct URLs on the new app
  • working out ways that the events app can feed data into the brochure site - as it now won't be able to directly call the DB from inside the webmaker.org app
  • would love to retro-fit a few more rigourous tests into the new webmaker.org app
  • equally - hooking our test suites into travis.ci on both apps would be great

Single events page

Once we have events in the system this should be styled as per design.

Ensure that we use bleach to sanitize all user input that we're displaying - this might already be done via playdoh.

If not we can probably sanitize everything in the view before sending to the templates.

Do not use the |safe filter in our jinja templates.

Remove new-relic from dev the vendor-local directory

When I was attempting to get newrelic working on our dev server I chucked it into vendor-local

I'm pretty sure that it shouldn't be there and it's stopping us from merging up dev to staging so probably a good idea to get rid of it!

Provide support for project groups.

We have these over on thimble.webmaker.org (https://thimble.webmaker.org/en-US/webarcade and https://thimble.webmaker.org/en-US/projects/zoo) but don't have them on webmaker.org.

We need to include the ability to:

  • create a new project group with a custom HTML template, CSS (to be included via a pull request)
  • assign projects to a group
  • create a groups view - rendering the template provided and listing all projects assigned to the group
  • allow a way for a project to return what groups it belongs to
  • allow for ordering of projects within a group

Button styles need work for small screen devices

I noticed with longer buttons instead of breaking up over two lines they remain the same height and cause overflow.

button

In the CSS they are assigned a fixed height and line-height so maybe something a bit more flexible to allow for multi-lined buttons would be good.

Ensure that events search is working

Will clearly be easier once we have events coming into the system.

In regard to ordering I think it should be something along the lines of:

  • if a user geo lat/lng is provided we show them the events nearest them
  • if not we order initially by whether they are official events or not and then alphabetically

Should look at ways it render text quickly to the browser

We use a web-font for EVERYTHING.

This is all well and good but it takes a while to load the web-fonts on a low-bandwidth connection and while they are loading no text is displayed!

We should hook in some form of font-loading software (like good font loader) that can provide CSS hooks for styling the text (in a non-webfont) while they're loading and use the web-fonts when they're ready.

In addition we need to find a non-webfont that can be used that provides a similar look/line-height to avoid too many page reflows/distortions when the page is loading.

Current /about/ and /about/partners/ are horrible hacks

So very soon /about/ will not have the content that it has now - which is currently a page about the summer campaign.

So basically we should change it to be more like this:

/about/ - for now redirects to /about/summer-code-party-2012/
/about/summer-code-party-2012/ - (summer-code-party-2012 is the slug) which can then link to a static page of our choosing
/partners/ - throws a 404
/partners/summer-code-party-2012/ - (summer-code-party-2012 is the campaign slug) which displays all partners related to that campaign

Does this make sense and give you stuff to work with?

Update site partner information

Need a simple way to add partners to the campaign pages

The summer (and future) campaign will have partners that we'll want to promote.

Would rather not need to do an deploy to add these so thinking something along the lines of a dead-simple app that allows people to do so would be sweet.

Required fields:

Name
URL
Image (upload to a path on the server)
Featured (boolean value - displays partners on the summer-campaign page)
Campaign - foreign key to the campaign model.

Set up local installation with Vagrant

Setting the app up locally on OSX is a rather horrible task when bundled in with the PSQL dependancies (and Django not supporting the latest PostGIS versions) so am hoping a Vagrant install might turn out to be a better option.

We already have working puppet files so wondering if this might turn out to be an easy thing?

Provide the ability to hide projects from lists/searches

Having to copy/paste content from dev to production is rather in-efficient.

By having the ability to enter a project and have it 'in-dev' would be useful - this means a URL can be sent around to internal folk but not appear in the filtered lists, group lists and all projects lists.

This should mean:

  • draft is a boolean that can be used to hide a project (default should be true, to ensure that ONLY projects we specifically want to have displayed are)
  • when a project is in draft we insert a robots.txt in the header of the document (similar to how playdoh does it) to try and ensure that search robots don't index it
  • ensure that when the migration is run we don't hide everything (make sure that we have a data migration that sets every project to have public to set true)

Update homepage carousel one last time

  • Chris - please attach the hero image to this bug
  • Erika - please include copy updates to this bug as a comment - please outline the carousel text and the text for the /party/ page

Event guides

Numerous static event guides pages to be made.

Localise the static content

We've got a bunch of static content on the site - this can be easily set for localisation by including the tower {{ _('foo') }} tags

Localise the projects content

To ease the development of the project content we put stuff inside of a DB and had people administer it using the django admin - this is great for productivity but very very bad for localisation purposes.

Need to find a way in which we can index and search the projects, have the content availiable for the l10n teams BUT also be easy enough for the content team to add new things when they want.

CAVEAT - this may get totally solved using the makeAPI...

Add support for nested paths to the pages app

Right now the pages app allows you to create a page at /foo/ but not /foo/bar/

If we want to build up slightly more complex sections of the site using it we need to think of a way to provide thus functionality,

Options

  • allow for multiple paths to be put in the slug field (foo/bar)
  • add a parent page field and then extract the URL from that

DEPLOY to dev

Hopefully this will be something that we can bump off nice and easy once the redis/celery stuff is working

Add in a 'teach' tab to the global nav

  • URL should be ''/teach/"
  • make sure that the tab highlights on the correct pages (be aware of the two potential URL structures
  • nav order should be: Projects | Tools | Events | Teach | About

Turn on /admin/

For now we don't need to lock it down to Mozilla-MPT users but for launch we will do - also, this is something that I'm hoping IT can do when times comes.

Event management?

Right now we're not providing a way for people to manage the events that have gone into the system.

Don't think this is super urgent but it's something that we've not yet considered at all so just putting it out there :)

BrowserID sign-up flow required

User needs to be logged in to access /events/new, /events/create (anything else?)

On initial log-in redirected to a small profile creation form - where they can provide us with a display name (definately) and brief description (possibly).

Site avatar will come from gravatar

This is a fairly standard user flow process and code should be able to be cribbed from firefox-flicks or ignite

Design for retina/large screen devices

Right now our site has a horizontally centered/fixed max width of 900px

This is working good on standard displays/mobile but on HUGE screens it's rather poor and I think we can be doing better with the screen-real estate that we have.

image

I like the idea of keeping a liquid lay-out with additional break-points for the big screen-devices to fill up the white-space with some of the linear columns under-neath.

Date-picker UI required for dates

Will aid user input and also ensure that we can use consistent dates.

Of course won't work without JS but our trump card here is that they can't actually access the create event form without it so we're good to go :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.