Lecture#03
Ouline
What we need?
What information of product be there for customer and administrator
For customer Name of the product Detail description of product Price of the product Photos of product
Additional information Weight and cost of shipping No. of items in stock Search engine friendly name
What we need?
For administrator Reference or ID number Stock keeping unit reference All customer relevant detail
Product InformationData DescriptionID A reference number for the framework to reference
the productName The name of the productSearch EngineFriendly Name
A search engine friendly name for the product to be displayedin URLs.
Description A detailed description of the productSKU A stock keeping reference (usually supplier's
reference, or forintegration with stock keeping systems)
Price The cost of the productStock The number of these products which are currently in
stockPrimary Image An image of the productAdditional Images
A number of additional images which are displayed as thumbnails and then toggled into the place of the main page
Category InformationData DescriptionID A reference number for the framework to reference
the categoryName The name of the categoryDescription A detail description of the categorySearch EngineFriendly Name
A search engine friendly name for the product to be displayedin URLs.
Image May be an image of category
Structuring Contents of Framework Before structuring contents, we need to
identify common data We can create abstract content type Integrate additional functionality to common
contents without duplication of code▪ Various versions of contents▪ Access permissions▪ Commenting on content, pages, or products▪ Rating pages , products or contents▪ Like or share contents on facebook, twitter etc
Structuring Contents of Framework It includes the followings:
Pages Contents Versioning
Structuring Contents of Framework Pages
Are essential content and need common formatData Description
ID A reference for the framework to refer to the pagesName The name of the pageSearch EngineFriendly Name
A search engine friendly name for the page to be used in URLs
Heading A page heading, generally something we would store within an<h1> tag
Title A title of the page (displayed within the <title> tags of the page)
Content The content for the pageKeywords Metadata for the page—keywordsDescription Metadata for the page—description
Structuring Contents of Framework Contents
Pages and categories may have shared fields
Products required additional and different data
Data DescriptionID A reference for the framework to refer to the contentName The name of the content entitySearch EngineFriendly Name
A search engine friendly name for the content, for use within URLs
Content The content itself, for example page, product details, andcategory description
Type The type of content this content entry is (for example page, product, category, and so on)
Structuring Contents of Framework Contents
Data DescriptionOrder The order of the content within a group, for example
pages in a menuParent The parent element for this entity, useful to indicate
subproductsand subpages
Meta keywords
Metadata (keywords) for this content entity
Meta description
Metadata (description) for this content entity
Date created The date the content entity was createdCreator The user who created the contentActive If the content is active (publicly visible) or notSecure If the content requires the user to log in to see it
(doesn't take into account fie-grained permissions)
Structuring Contents of Framework Versioning
A particular form of something different in few aspects
Allow rollback to previous versions/settings
Maintain record of previous versionsData DescriptionID The order of the content within a group, for example
pages in a menuCurrent Version
The parent element for this entity, useful to indicate subproductsand subpages
Building products, categories, andcontent functionality
After knowing structure we need to decide: How we will store our data? How we will manage and access data
within framework? We need a set of tables in a databse
DBMS or File Management System We need some techniques/tools so
framework can contact to data SQL, functions or others
Building products, categories, andcontent functionality-Database
We need the following tables w.r.t. our structuring contents Contents, Versions, Content Types, Products and
Revision History Content Table
To store references to the active version of content Information of content that doesn't change with
each version▪ Like author info
Things that can change without affecting the version ▪ Active, inactive
Building products, categories, andcontent functionality-Database
Version Table Store actual content of version One record of each version
Content Type Table Store type of content like page, category, product
etc. Products
Relevant information to products Revision History
Versioning history of each content type Allow to rollback to previous version
Content TableFields Fields Type DescriptionId Int (Primary
Key, Auto Increment)
A reference to framework for content entity
Current_revision
Int Refer to current version of content type
Active Boolean Active or inactive to show userSecure Boolean Secure or insecure to show either logged in
user or notParent Int A reference to its parent content typeOrder Int A reference to the order of the content type
to build sitemap or menusAuthor Int Who created the first version of content
typeType Int A reference to type of content this entity isPath Varchar Search engine friendly path for the contentCreated
Tiemstamp When the entity is created
Content Table
Content Type TableFields Fields Type DescriptionId Int (Primary
Key, Auto Increment)
A reference to framework for content type used in other content table
Reference
Varchar Machine friendly reference string for content type
Name Varchar A user friendly name of content type
Content VersionsTableFields Fields Type DescriptionId Int (Primary
Key, Auto Increment)
A reference to framework for different versions of a content
Name Varchar Name of contentTitle Varchar Page title for the contentHeading Varchar Heading for the pageContent Longtext Actual HTML text for the content visible
to userMetakyewords
Varchar Metadata keywords
Metadescription
Varchar Description of metadata fields
Metarobots Varchar A predefined list to have metarorobots or ENUM field
Author Integer A reference to author who created content
Timestamp Timestamp Time & date version created
Content Versions Table
Products TableFields Fields Type Description
Id Int (Primary Key, Auto Increment)
A reference to entry in product table
Current_version
Int Ties product data to content version table
SKU Varchar The stock keeping unit reference for the product
Image Varchar A reference to primary image path of product
Weight Int Weight of product
Feature Boolean if featured products then show in featured list
Products Table
Categories Table
Content versions table will be used as for categories table
Categories themselves don't need to extend the data held within the content versions