Flexibility of CI |
[eluser]Unknown[/eluser]
Hi all, I am fairly new to CI (I have written a few small sites with it but impressive) and wonder how flexible it is. I am planning to start working on an open source learning/management system in CI to replace my existing setup which is a very large collection of php scripts to bridge LDAP, Moodle, MYBB, a hacky CMS and multiple WP installs to provide SSO accross the student intranet site. This isn't actually live (quite frankly it is too much of an un-reliable mess) but is a test implementation of something we have been attempting to implement for nearly 2 years (with no success yet). We have an issue of every system we try being too inflexible to do what we need and trying to edit them whilst supporting updates becomes a nightmare even with testing and version control. So here I arrive at CI. As I am fairly inexperienced with CI I hope you can help me in deciding if this is the right framework to base our fully custom written system off! So here is the gritty details; Quick overview: I spent 2 years assisting in the development of a small independent SEN school's IT systems which extended access to the IT systems and internet to all pupils and staff members. The school has a small pupil number (currently about 60) and a staff team that is roughly double in size. The staff team's IT skills vary and the students range from year 4 to 11. During the time I spent many hours with the senior management discussing how we could incorporate learning with IT more, from this our dream was born. Basic feedback we got; Requirements for students: SSO Easy navigation Internal messaging system Graphical representation of grades/scores Lists of up coming assignments/homework Moderated forums Requirements for staff: Secure forums Easy to use WYSIWYG page/news feed editing Easy event management Interactive help Ability to import office documents into course lessons Ability to export courses into office documents Graphical output of all users with multiple filter options Requirements for management: Ability to add temporary users locally with restricted access (external inspectors etc) Graphical output of all users grades with multiple filter options Reports on everything General requirements: Must be secure Must use LDAP authentication Must support access levels Must be flexible Everything must be modular Must be easy to use Courses must support SCORM importing/exporting Must be reliable Must support backups Course access must be on a per group and user basis (Courses will be accessible to the users year group + users are able to have courses specifically assigned to them) Access must be modular Users groups must be optional auto assigned from an external authentication source System layout: / - main page (part of the cms) /learning/ - Courses /profile/ - All users details, results, messages etc /staff/ - All staff sections /quiz/ - quiz's and questionnaires that are not part of a course (useful for things such as anti billing questionnaires etc) /gallery/ - A tagged gallery with a "people in the photo" style integration of users Whilst this sounds quite simple it presents quite a complex set of challenges. The interface will be modem and interactive which means an extensive JSON API for AJAX returns, there needs to be extensive models for building quiz's, courses etc I am sure there are some large CI projects out there but I have personally not used or worked on any so lack experience with working on projects in CI. Thanks in advance for any thoughts on using CI for this project.
[eluser]Dyllon[/eluser]
CI is extremely flexible and because it is so easy to extend CI is whatever you want it to be. CI can certainly handle the project you've outlined, however I would look into implementing one of the modular solutions. Personally I use Modular Separation
[eluser]Sean Gates[/eluser]
I second @Dyllon -- CI is extremely flexible and can handle the most difficult (or easy) tasks any other development framework can handle. I would submit that it would do it in much less code, too. As an example, I was working with a company developing a CI app and we wrote something like 20,000 lines of code. One of our competitors went out of business and ended up visiting our offices. He conceded that his .Net application had over 250,000 lines of code, to basically do the same thing. You'll love CI. -- Sean
[eluser]Unknown[/eluser]
Hiya, Thanks alot for your feedback, it seems CI is a good allrounder. I think it will feature in quite a few of my projects :0 Thanks, Damian
[eluser]Maglok[/eluser]
The strength of CI is that the footprint is so small. You can add anything to it, but the core is very strong and not very complicated. You could add anything to it, the community is large and creative. Out of the box is supports everything you need without being crowded. |
Welcome Guest, Not a member yet? Register Sign In |