Project ID:
631425
Project Type:
Fixed
Budget:
$250-$750 USD
Project Description:
Directory Builder (Please see attached document for properly formatted requirements with images)
A Website with Database for use in maintaining business information directory records.
• In order to track the information entered, and limit certain access to certain pages a simple login system is required.
• Database is MySql
 
Site Structure and Function Overview
WebSite Structure consists of the following.
• Header – Shows “Directory Management System, Home Button and Status of Logged in User”
• Left Margin - Left Margin Options for the Various Pages on the site (which are restricted based on User Rights)
• HomePage
o Login/Logout
• Navigation from Left Margin
o Entry Maintenance
o Entry New
o Content Maintenance
o Content New
o System Maintenance
• Content Management
o Open Items for User
o Next Item
 Chamber Info
 General Content
 Directors
 Additional Member Data
 Events
 News
 Articles
• Maintenance
o List all Open Items
o Manage Users
o Field Assignment
o Add Category
 
LEFT MARGIN NAVIGATION BAR and HEADER
A standard navigation bar where the user can click on the Listed Item to Navigate to the desired Page. A Common Page Header. This should be carried forward to all displayed pages.
Example
Requirements and Comments:
• Not shown in the Drawings, but consistent across all page displays.
• In the above Example the top right corner “Logged in as: Administrator” should show “Logged in as: Not Logged in” if the user is not logged in (See Home Page). The User Name should show only if the user is logged in.
• The left Margin entries will be shown based on the user table information. There is a field for Entries, Content, and Maintenance in the user table. If the field contains True then the navigation items will show, if the field is false then the navigation menu item will not show.
• If the user is not logged in, only the home page will display.
• The Active or In use Page should be noted by changing the Item in the Bar, either color, or Bolding the font.
 
HOME PAGE
The home page will basically permit a user to login or logout. If the user is not logged in then an option for user name, password, and a login button will be present. If the user is already logged in then it will show the user name (from the user database) and an option to log out.
Example
Requirements and Comments:
• In the above Example the top right corner “Logged in as: Administrator” should show “Logged in as: Not Logged in” as the login screen is present. The User Name should show only if the user is logged in.
• On pressing submit the user and password fields will be used to pull a record from the user table. If the password and/or user do not match a message should appear indicating “The User and Password information are incorrect. Please try again or contact the system administrator.”
• Once logged in the Login Screen will be replaced with a similar format showing instead of “Login”, “Logged In”, and the User Input field will be replaced with the User Name. The password field will not be there, and the submit button will be replaced with Logout.
• The Logout function will clear the session data.
 
Entry New
This page allows a new directory entry to be added. The user can specify defaults for certain fields at the top of the page. By clicking New Entry, a load form will be displayed as in the example below. The defined fields are displayed on the load form for input. ON completion the user can click the save button in which case the records will be written to the Directory table while populating the CreatedBy field with the Logged in User, and populating the CreatedDateTime with the current date and time. The user may also select cancel in which case the record will be abandoned and the user will be returned to the Entry Add Page.
Requirements and Comments:
• While the Option should not even show up in the left margin for this user if they don’t have rights, it is still necessary to check at page load to validate user rights in case a user were to select the page directly. For the particulate user verify they have rights to access this page.
• The Page Layout should be a 3 column table with
o the Field Label in Column 1
o Input Field in Column 2
o Optional Help Text/Descriptive data in Column 3 (The data in column 3 is not required as part of this project)
• Any Content in the “Default Source” and/or “Default Source Description” text fields at the top of the page will be used to initially populate the Fields of the same Name in the Form Data. This data can be overridden in the Form, but it is placed there initially to aid in the entry process.
• On Selection of Save the data will be added to the Directory Table and the screen will be refreshed for next record entry.
• On Save - Additional Fields not displayed on the form, but that will be updated to the Record are
o CreatedBy = Current Logged in User Name
o CreatedDate = Date/Time Added
o Code=This is the ID that will tie all related tables to the master Directory Record. It is unique and of the format XXXX#### where XXXX is the first four letters of the OriginalName Field and #### is a sequenced number starting at 0001 and incrementing as required to make the code unique.
• On Cancel the data will be refreshed and the screen presented for the next entry.
 
Entry Maintenance
This page allows display, delete, and change options for directory entries. Use of phpMyEdit as a control for pulling record data will display a table with options for the above. The ability to display this page, and access the various functions (change, delete, etc.) is controlled by the user rights table. Standard phpMyEdit functions for Filtering, Sorting, etc should be enabled. NOTE-The example below is for illustration purposes and specific requirements are defined below.
Requirements and Comments:
• While the Option should not even show up in the left margin for this user if they don’t have rights, it is still necessary to check at page load to validate user rights in case a user were to select the page directly. For the particulate user verify they have rights to access this page.
• For User Rights Table for this page the codes will define whether they can see Add/View/Change/Copy/Delete, etc.
• In the case of the Entry Maintenance Page User Rights are defined by the phpMyEdit Permission Options (3.4 in Manual) Add, Change, Delete, Filter, View
• Even though the phpMyEdit controls are shown, they will not be used as the standard controls, that is to say the buttons will not function in the default manner for phpMyEdit.
o ADD must call the Entry New Page (Defined Previously) since the add must be done through the Entry New Page for supporting code.
o CHANGE button will execute a page with the Entry New Page Logic and formatting but for Edit purposes with the fields pre-populated AND SHOWING ALL ADDITIONAL FIELDS.
o DELETE must delete all related records from all tables
o View will display the data in the format of the Add/Change pages but without field editing available.
 
Content Maintenance
Read the section below on “Content New” first to better understand the requirements for this page.
This page allows a user to perform reporting and maintenance of the directory information which is contained in multiple tables. Options are restricted based on the logged in user’s rights to this feature. Information subset pages are loaded for Edit as they would be in the Content New Page.
Requirements and Comments
• The format of the page is accomplished with phpMyEdit.
• On Page Load the Default layout will be the full Directory Table as rendered by default PhpMyEdit including all fields.
• The Filtering, sorting, etc. should all be enabled.
• The different is on the actions for the various Edit Buttons. The only Options are View, Change (copy, delete, new are not permitted)
o Change will activate the selected record by opening the page similar to the ContentNew page but without the list of open items at the top.
o View will activate the selected record by opening a view only option of the ContentNew Page.
 
Content New
This page is to facilitate entry of content in the directory by multiple users working simultaneously. The page allows a user to grab the next available directory row for which content has not yet been loaded, and then reserve that record so that the particular user can update all the information without another user attempting to load content for the same record. The format of the pages is such that the user can know whether they have completed entry of all of the content before marking the status as complete. This is done by examining the mandatory entry fields for any content set and if all contain data then indicating a green check mark. They can also see any existing records that they may have started to load but not yet completed.
From the active record they can bring up a specific page for each subset of information.
Requirements and Comments:
• While the Option should not even show up in the left margin for this user if they don’t have rights, it is still necessary to check at page load to validate user rights in case a user were to select the page directly. For the particulate user verify they have rights to access this page.
• The Top Table shows any records in the Directory Table where the LoadBy = the current User AND the LoadEnd is Blank (Meaning that the user has started the Record but not finished it.)
• Selecting New Item will process the Directory Table for the first Record where the LoadBy field =Blank and then populate that field with the Current User and also set the LoadStart field with the current date/time stamp. The page will then refresh with the ActiveItem Date filled in for the current record.
• Selecting Edit Selected will populate the current page for the selected item instead of bringing up a new item. (The LoadBy and LoadStart field are not updated since they would have been when the user originally selected NewItem)
• Selecting Mark Complete will check for the indicated record to verify that there is content in each of the required data subsets, and then populate the LoadEnd field with the current date/time stamp. If the record is not complete a pop up box will indicate so and the page will remain as is..
• The Active Item table shows the current active record
o The Save Button which will save the current record and the data in the comments field to the loadcomments field in the Directory table, BUT will not update the LoadEnd field. After pressing the save button the page will refresh with no active record.
o The Save Complete button will save the current record and the data in the comments field to the loadcomments field in the Directory table, AND WILL verify that there is content in each of the required data subsets, and then populate the LoadEnd field with the current date/time stamp. If the record is not complete a pop up box will indicate so and the page will remain as is..
• In the remaining area of the Content New Page are the subsets of data. Each subset will open a different page for the user to add/edit the required data as indicated below. For each item the status is set as blank or Complete if there is content entered for that item.
o Contact Data Subset – This will create a Contact Record associated with this Directory Item. The format of the displayed page will be a 3 column table as with the “Entry New” page shown earlier. Each added record will be summarized as added in this area of the page.
o General Content 1, 2, 3 – These sections will open up a wysiwyg editor (tinymce) on a separate page for the user to enter content. The size of the input area should be passed to the called page as a property on the EDIT button. (We don’t know the specific size at the moment and so want to be able to edit it easy in the future). The data returned should be stored HTML in the GeneralConent Table and a summary of the input data should be reflected here on this page in the correct size.
o DirectoryImage – Allows the user to specify/browse to an image which will be uploaded and stored in the directory DirectoryImages folder with a file name of DIcode.jpg where code=the corresponding id from the directory record. A preview of the image will be displayed here.
 
Maintenance
This option allows the user to add and update the User Table for security and passwords. The phpMyEdit control can be used for this table in its default form.
 
Database MySql
TABLE: User
Field Type Comments
ID Int Auto_Increment
Name Varchar 20
Password Password
Entry New Access VarChar 10 Null mean no access
Entry Maintenance Access VarChar 10 PhpMyEdit Characters for Rights
Content New Access VarChar 10
Content Maintenance Access VarChar 10
Maintenance Access VarChar 10
TABLE: Directory
Field Type Comments
ID Int Auto_Increment
Code 8 Char AlphNumeric See notes Unique ID
Name
OriginalURL
Source
SourceURL
CreatedDate Date Time
CreatedBy VarChar 20
Characteristics_1 VarChar 50
Characteristics_2 VarChar 50
Characteristics_3 VarChar 50
Characteristics_4 VarChar 50
Characteristics_5 VarChar 50
Characteristics_6 VarChar 50
Characteristics_7 VarChar 50
Characteristics_8 VarChar 50
Characteristics_9 VarChar 50
Characteristics_10 VarChar 50
Status VarChar 10
StatusDate Date Time
StatusBy VarChar 20
Comments Text for Notes
Competitor VarChar 100
LoadBy VarChar 20
LoadStart Date Time
LoadEnd Date Time
LoadComments VarChar 100
TABLE: Contact
Field Type Comments
ID Int Auto_Increment
Code 8 Char AlphNumeric See notes Unique ID
ContactType VarChar 10
FirstName
LastName
Title
Salutation
Company
AddressLine1
AddressLine2
City
State
PostalCode
Country
WebSite
Email
Phone
Fax
TollFreePhone
Image1URL
Image2URL
Description Text for Notes
TABLE: GeneralContent
Field Type Comments
ID Int Auto_Increment
Code 8 Char AlphNumeric See notes Unique ID
ContentItemNo This will be 1,2, or 3
HTMLContentBlock
Skills required:
MySQL,
PHP
Additional Files:
Directory+Builder+Application.pdf