Our client is a small publisher/newspaper. The newspaper publishes articles on the website.
Check out the existing site of our client at [[login to view URL]][1]
This site will be changed. The new version of the site will not be based on PHP. Instead it will be based on the Content Management System [login to view URL] which is programmed in Classic ASP/VBS.
Your task is to program a new article database in Classic ASP/VBS (NOT ASP.NET and NOT .DLL!!!) using an MS Access database.
This involves programming the entire backend/administration for articles as well as classes/functions, which we can use to integrate the system in SEEEMS.CMS. In other words classes, which enable us to set filter criteria for searches, get a search result and easily retrieve information/content of the articles in the search result.
## Deliverables
SEE ALSO enclosed file
1) Database tables
T_PUBLICATIONS
f_key_publication
f_str_publication_name
T_SUBJECTS
f_key_subject
f_str_subject_text
f_int_subject_order
f_bln_subject_hide_option
T_ARTICLES
f_key_article
f_key_publication
f_key_subject
f_date
f_str_city
f_str_heading
f_str_subheading
f_str_lead
f_str_mainbody
f_str_author
f_str_authoremail
f_str_imagefilename1
f_str_imagetitel1
f_str_imagephotographer1
f_str_imagetext1
f_str_imagefilename2
f_str_imagetitel2
f_str_imagephotographer2
f_str_imagetext2
2) Interface to do a search and to retrieve the result of the search.
Class: clsArticleSearch
Filter properties:
- article id
- publication key
- searchString (search in heading, subheading, lead, main body, image title, image text etc.)
- author
- subject
- city
- fromDate and toDate
- weekAndYear
- orderCriteria1 and orderCriteria2
- orderDirection1 and orderDirection2
- resultsPerPage
- page
- totalNumOfArticles (read only)
Method:
- getArticles
3) Administration of the articles
The layout should resemble/use the styles of SEEEMS.CMS.
All captions are stored only one place in the code as variables. That way we can change the language to Danish and German.
User access to the administration depends on the following two session parameters.
- Session("article_publicationKey")
- Session("article_administratorRights")
If Session("article_publicationKey") = -1, the user can see all publications including the unique key and information on the total number of articles for each publication
If Session("article_publicationKey") points to a non existing publication key (f_key_publication), access to the administration is denied.
If Session("article_publicationKey") > 0, the user can only see the publication with that specific key
Administration of T_PUBLICATIONS:
The user can rename the publication(s)
If Session("article_administratorRights ") = True, the user also can do the following:
- The user can add a new publication
- The user can delete a publication ? (all corresponding articles in T_ARTICLES are deleted at the same time as well as all images of those articles)
For each publication the user can add, edit and delete articles.
Al navigation to find existing articles will be done using the search articles class. In other words a search form is provided to find specific articles.
The form for the article contains a field for each field in the database.
The subject for the article is chosen from a select list. The options of the select list are those defined in T_SUBJECTS and are displayed in the order defined for the subjects (f_int_subject_order). Options where f_bln_subject_hide_option = True are not displayed in the select.
Each article can also contain two images that are saved in a separate articleImage folder using the component AspUpload and/or ApsSmartUpload, while the name of the file is stored in the database.
If Session("article_administratorRights ") = True, the user has access to the administration of T_SUBJECTS:
- The user can see all subjects
- The user can change the order of the subjects
- The user can add a new subject
- The user can delete a subject, provided the subject is not used in any article
- The user can hide a subject
Administration methods/functions which we also need to access directly from [login to view URL]:
AddPublication(name)
This method adds a new publication in T_PUBLICATIONS, saves the name and returns the unique key of the publication.
DeletePublication(key)
This method deletes the publication that has the key provided. It also deletes all corresponding articles as well as any images used in these articles.
## Platform
Server side
- IIS
- Classic ASP
- AspUpload
Client side
- Crossbrowser