Contractor Information Management System (CIMS) – Import Module
Abstract:
X-organization
is looking for a solution to enables the X-client to identify which contractors
are being used in Afghanistan and for what purpose (contracts). The contractor should
be defined as business / enterprise / organization / or individual that will commission
or employ to perform a specific job for a specific period through a contract with
the X-Organization. Furthermore, the application should provide details on where
the contracts are as well as the value, and to indicate the performance of the contract
/ contractor per different clients.
Based
on strong research, the Application has been developed in Drupal. After some time,
the organization decided to add more features in the application to satisfy their
clients for example bulk import, grouping specific fields and a map showing geographical
information.
Previously
X-organization clients were adding each contractor separately which was quite time
consuming, but recently they installed a new module called “Feeds Import” to facilitate
their client’s data import process. This new module allows clients to import, a
list of their contractor/contracts information just by importing from a CSV file.
By implementing
the above features the X-organization faced another challenge. Each CSV file had
to be imported several times to accomplish the bulk import process and we later
explain in more details in the next sections of this paper why the clients had to
import the same file several times?
Now, the
organization is looking for a solution to eliminate the need for importing one content
type multiple times. So, the purpose of this document is to design and develop a
module through which the import process is made dynamic, flexible and user friendly.
Keywords: Drupal, import module, Contractor Information
Management System, Feeds Import, Field collection, bulk import.
References:
[1]
Abraham Silberschatz, Henry F. Korth, s. Sudarshan, (2006). Database System Concepts
6th.
[2]
“Arrays in PHP”, [Online] Available at: http://php.net/manual/en/language.types.array.php,
[Accessed 20-Jul-2017].
[3]
“Creating custom modules”, [Online] Available at: https://www.drupal.org/docs/7/creating-custom-modules,
[Accessed 22-Jul-2017].
[4]
“Dynamic Fields”, [Online] Available at: https://www.formget.com/how-to-dynamically-add-and-remove-form-fields-using-javascript/
, [Accessed 20-Feb-2017].
[5]
“Drupal Form”, [Online] Available at: https://www.sitepoint.com/understanding-forms-drupal/,
[Accessed 20-Jun-2017]
[6]
“Feeds”, [Online] Available at:
http://www.drupalcontrib.org/api/drupal/contributions%21feeds%21feeds.api.php/7,
[Accessed 15-Apr-2017].
[7]
Mark Allen Weiss, (1999) Data Structures and Algorithm Analysis in C++, fourth Edition,
Florida International University Indianapolis.
[8]
“Object Oriented Programming”, Paul and Harvey Deitel, [2011] C++: How to Program
8th edition
[9]
“Object Oriented Programming”, [Online] Available at:
https://www.cs.drexel.edu/~introcs/Fa15/notes/06.1_OOP/Advantages.html?CurrentSlide=3
, [Accessed 19-Feb-2017].
[10]
“Programing with PHP”, [Online] available at: https://www.w3schools.com/php/ , [Accessed
1-Feb-2017].
[11]
“Software Engineering”, [Online] Available at:
https://www.tutorialspoint.com/software_engineering/software_engineering_pdf_version.htm,
[Accessed 10-May-2017].
[12]
“Triggering element”, [Online] Available at: https://www.drupal.org/node/2546700,
[Accessed 18-Jun-2017].
[13]
“Using HTML 5 and CSS”, [Online] Available at: http://www.w3schools.com/ , [Accessed
10-Feb-2017]
[14]
“Unique #name”, [Online] Available at: https://www.drupal.org/node/1342066, [Accessed
15-Jun-2017].