We've decided to give a bi-weekly update that falls in-line with our sprints. I hope to give an update at the end of each sprint to say how we're getting on and any updates/problems we've solved or remain.
The past two weeks have mainly consisted of prototypes and code exchanges between the core developers. We've explored a number of options available to us - whether this be about dependency loading, module definition and folder structure for plugins.
I've outlined below our thoughts and progress:
- We officially started our first sprint of refactoring our code base on Thursday 24th.
- Chris Jones and myself have been discussing our dependency management and how we can tie in Bower and npm.
- We've also discussed how we could use an adapt command line interface to help developers install and create plugins. We're looking at typing something as simple as this:
to install Adapt globally
$ npm install -g adapt-cli
to create a new Adapt project
$ adapt install
to setup a developers plugin template
$ adapt createComponent "[componentName]"
Chris has built a few prototypes and will continue working on this through the first sprint. We also discussed building a GUI for this process but decided this would be added at a later date.
- We looked into bower server and Chris has set this up as a prototype so we can now have our own plugin repository.
- We have decided to use requireJS for our module and dependency loading.
- We have decided upon an internal event based system based upon a mediator and event aggregator pattern. This will allow our plugins to tap into our core code without disrupting other plugins.
- Documentation on the framework architecture, our definition of done and coding standards are close to being completed and will be available on github.
- Discussions between the authoring tool developers have been very frequent to keep in check that we're thinking along the same lines in terms of what the framework needs.
- A lot of thought and discussions/prototypes have been created to try and make developers one of our main focus points. We want an easy and clear way for developers to get involved and recognise that they are one of our biggest contributors.
- Our git repository is setup and we're using a git-flow process for core developers to contribute.
- We have gone through our user stories for the framework and setup our first two sprints. By the end of these two sprints we should have the majority of our core code re-written.
- Every Thursday we're having catch ups with all the core developers and discussing issues and everything seems very well organised and communications are open.
Overall the progress has really picked up from our initial prototypes. The core code is starting to get refactored and we've taken a lot of our mistakes and knowledge from our in-house version of Adapt and solving/polishing these issues.
I'll post another update in two weeks time.