CNM Cloud Project
CNM Cloud Project (hereinafter, the Project) is an endeavor to provide the Career Network Ministry with CNM Cloud in order to deliver services of CNM Digital. Friends Of CNM Cloud Administrator is responsible for this Project.
Requirements
Business requirements
- Main wikipage: CNM Digital
Technical requirements
- Main wikipage: CNM Cloud
- A big portion of technical requirements is also published in Russian -- https://wiki.ksacerts.com/ru/Брацко_Облако
First phase -- beginnings
Initial user stories
- Initial user stories were created by Loredana C. and are published at CNM Digital by Loredana C.
Software used in early stages
- The first private cloud was built on an OpenStack instance. The applications included Opplet.net, Redmine, Apache Subversion (SVN), Moodle, MediaWiki, and WordPress. However, applications were not moved to the cloud because of its immaturity. Only Opplet.net and Redmine are still operational after the cloud was destroyed in order to cut costs.
History of the beginnings
- Initial learning systems. Initial works that later contributed to the project were started as early as in 2007. The initial development team consisted of Mina Nizhnih as the code developer and product owner and Romanof as the PHP developer. Until 2014, solutions were presented by various combinations of MediaWiki and Moodle. A special solution to integrate those, called Opplet.net, was initiated and coded by Mina Nizhnih in 2014. Revisions by Zlomovsky completed its first sprint in 2015. The first version of Opplet.net used SimpleSAMLphp as its authentication tool.
- First enterprise-wide systems. In 2015-2016, the concept of CNM Digital emerged. Loredana C. developed initial requirements for a complex system to serve patrons of Career Network Ministry (CNM). Later, the requirements were posted at CNM Digital by Loredana C. To implement those, Alexandrovich joined the team as the team architect and Natalia did so as the solution architect. Instances of Liferay and SuiteCRM were added and the platform was moved from DigitalOcean to Hetzner and newly based on Proxmox. Several instances of Odoo were also installed, but never integrated to the platform because Odoo didn't support SimpleSAMLphp. Romanof also installed an instance of Redmine separately from the platform. In addition, Romanof completed the second sprint of Opplet.net while moving its initial code from plain PHP to the Yii framework. In 2016, the platform collapsed and all developments, but Opplet.net and Redmine, were lost. At the moment of the crash, Opplet.net and Redmine were still stored at DigitalOcean.
- First cloud. In 2016-2017, several projects were undertaken. Alexander was the primary technology vendor at that time, Eunice contributed to its requirements, and Wushnevska worked on Odoo and Redmine instances. Instances of Odoo were installed at careernetworkministry.org, theeconomicgroup.org, and worldopp.org. However, the main development was the private cloud based on OpenStack. However, inability to integrate installations on a single platform and, particularly, Wushnevska's move from the project, led the developments to be postponed. The cloud was destroyed in order to cut expenses, but Odoo instances are still alive.
- WorldOpp initiative. Recruitment of administrators had been the greatest challenge since the project's inception. In 2016-2018, several endeavors to bring new administrators on the board were attempted primarily in Ukraine and Kenya. No candidates were found in Ukraine. Dozens of candidates from Kenya were tested, but no one has been eventually brought on the board so far.
Consequently, no candidate has accomplished more than a dozen of actions on CNM Wiki so far. The lack of recruitment and onboarding process is considered being the main challenge. Thus, the initiative was postponed until the process based on renewed technology is developed and, particularly, Careerprise Orientation, WorldOpp Placement Seminar, and Septem Artes Administrativi are launched and operational.- The majority of most motivated candidates were concentrated on their efforts instead of getting the results;
- If those candidates were oriented on some results, their desired results were not communicated with the product owner and, consequently, their efforts couldn't be funded.
Deliverables of the beginnings
- Opplet.net after two sprints.
- A Redmine instance after its first sprint; the instance was later used in CNM Productware.
Second phase -- embryo
User stories for the embryo
- Three user stories shall describe completion of the second phase:
- (first user story) As a NetAnyone, I shall be able to:
- Click the button, Get employed, at some website and get to some registration page;
- Fill in my login name, password, and, optionally, email address;
- Submit the info, automatically (a) become a NetConsumer, (b) obtain user's rights for CNM Wiki, and (c) obtain student's rights for CNM Campus, as well as get enrolled into Careerprise Orientation;
- Complete Careerprise Orientation and automatically become a CertAssociate.
- (second user story) As a CertAssociate, I shall be able to:
- Get enrolled into WorldOpp Developer Seminar;
- Complete WorldOpp Developer Seminar, automatically become a CertDeveloper and obtain user's rights for Fixett.
- (third user story) As a CertAssociate, I shall be able to:
- Get enrolled into WorldOpp Placement Seminar;
- Complete WorldOpp Placement Seminar, automatically become a CertFellow and obtain sysop's rights for CNM Wiki, and get enrolled into Septem Artes Administrativi.
- (first user story) As a NetAnyone, I shall be able to:
Software used in the embryo
CNM software Description Service Base(s) Platform Infrastructure Hardware, operating system(s), environment for programming languages to operate, database management systems, web servers Outsourced Not important for the Project Middleware In this phase, user management software that manages authorization of users and their access to CNM apps Opplet.net Written specifically for the Cloud using YII framework Apps Usernetware User interface to allow end-users to interact with CNM Middleware Productware Studio for CNM vendors to document their developments and store developed files Fixett Redmine, Apache Subversion (SVN), (possibly) containers Courseware Learning management software to accommodate learning processes Campus Moodle Wikiware Knowledge management software to develop corporate knowledge collaboratively and access the results Wiki MediaWiki Contentware Content management software to empower CNM websites FriendsOfCNM.org WordPress
History of the embryo
- Second cloud initiation. In 2018, Romanof as a PHP developer and PHP sub-project manager, Mina Nizhnih as the product owner, and Natalia as a vendor liaison initiated a new cloud endeavor. Instead of SimpleSAMLphp, Romanof now implemented OpenLDAP for authentications. That development completed the third sprint of Opplet.net. A new instance of MediaWiki is used for CNM Wikiware, an instance of Moodle is used for CNM Courseware, instances of Apache Subversion (SVN) and Redmine are for CNM Productware. No private cloud itself is going to be launched in the second phase of the project. The most comprehensive documentation for this attempt was originally created in Russian (using CNM Productware and the Russian part of CNM Wiki at https://wiki.ksacerts.com/ru); however, since the recruitment efforts are shifting to East Africa and the United States, new documents shall be posted at the English part of CNM Wiki.
Deliverables of the embryo phase
- A software system capable to execute the User stories for the embryo;
- A contract to run CNM Infrastructure;
- A contract to run CNM Productware;
- A contract to run CNM Courseware;
- A contract to run CNM Wikiware;
- A contract to run CNM Contentware.
Current state
Team
- All working parts of the existing technology are developed by Romanof. He as the PHP sub-project manager and developer and Mina Nizhnih as the product owner also are drafting documentation on every software included in the second phase; currently, Natalia is taking over CNM Wikiware.
- The current team is hiring staffers of WorldOpp Fellow Staff generally and Friends Of CNM Cloud Administrator specifically to expedite the project.
Completion rates
- The DADI is the development cycle that includes 4 components: (1) discover, (2) analyze, (3) design, and (4) implement. No component is fully developed to the date. The following table presents estimates on every component of every software to be launched:
CNM software Service Sprint DADI component Discover Analyze Design Implement Platform Infrastructure Outsourced Second (requirements and designs are drafted in Russian in Fixett; DigitalOcean is temporarily used for implementations) 90% 90% 90% 90% Middleware Opplet.net Fourth (requirements and designs are drafted in Russian in Fixett; Opplet handles user management for CNM Cloud) 75% 75% 75% 75% Apps Usernetware Productware Fixett Second (requirements and designs are drafted in Russian in Fixett; the current implementation is located at a classified URL) 50% 50% 50% 50% Courseware Campus Second (requirements and designs are drafted in Russian in Fixett and English in CNM Wiki; the current implementation is located at https://campus.ksacerts.com) 25% 25% 25% 25% Wikiware Wiki Second (requirements and designs are drafted in Russian in Fixett and English in CNM Wiki; the current implementations are located at https://wiki.ksacerts.com and, in Russian, at https://wiki.ksacerts.com/ru) 90% 90% 90% 90% Contentware CNM website Second (requirements and designs are drafted in English in CNM Wiki; some implementations launched in the first sprint include worldopp.org and careernetworkministry.org) 25% 10% 10% 0%