Skip to content

Instantly share code, notes, and snippets.

@jrjohnson
Last active August 29, 2015 14:03
Show Gist options
  • Save jrjohnson/890d7995dbe04a284688 to your computer and use it in GitHub Desktop.
Save jrjohnson/890d7995dbe04a284688 to your computer and use it in GitHub Desktop.
What it will look like getting to Ilios3

#Ilios 3

##How do we know when we get there?

###Whats included

  • Seperate Backend and Frontend Archetecture.
  • Backend is a collection of models and a REST API written in Symfony
  • Controllers on the backend handle cron tasks, the api, and server side functions The backend consolidates and serves up the assets for the frontend
  • Fronend is Emberjs single page application backed by REST API and ember-data]
  • Unit tests covering 100% of the API (phpunit) and 100% of the fronend (qunit)
  • Cross browser integration tests for critical operations

###Whats not included

  • Role based access control
  • Schema changes (excpet for some key changes and constraint fixes where absolutly necessary)

###What might be included

  • Elimination of functions and stored procedures in favor of repository event management

##Getting There We have immediate competing needs:

  1. YUI2 is dead and un-testable. Replacing it effectivly means re-writting nearly the entire frontend.
  2. We are in danger of losing the ability to structure our own API on campus and for vendors
  3. Ilios is gaining traction rapidly and big changes need to happen to support long term growth and not fragment the community

###Proposed Path

####Process

  • Simultaneous development of a new backend and frontend.
  • New features will be built in the new frontend.
  • Non-critical bugs will be held until we are finished.
  • Exisintg controllers will be ported one by one

####Chanlenges

  • Requests will need to be handled by two seperate backends
  • Authentication must pass between systems
  • Temptation to feature-creep
  • Ember-data is in beta

###Other Options We could rewrite the backend in another language (ruby?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment