Welcome Guest, Not a member yet? Register   Sign In
Flexibility of CI
#1

[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.
#2

[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
#3

[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
#4

[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
#5

[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.




Theme © iAndrew 2016 - Forum software by © MyBB