Ticket #43 (new task)

Opened 3 years ago

Last modified 3 years ago

implement "create new page" screen

Reported by: demian Assigned to: lakiboy
Priority: major Milestone: 1.7
Component: component1 Keywords:
Cc:

Description (Last modified by demian)

  • hitting "create new page" button would lead to this screen
  • page is regular browser-requested page, which will feature a few modal dialogs
  • page title is "Create new page"
  • next section allows user to define page name, as per screenshot, which is saved as a route
    • choosing "change" opens modal that could be used to change page/route name, but it would be better/simpler if input field did this
  • next section lets user choose page layout, which is inherited from site layout, and overridable
  • next section lets user choose content type, I thought this could be a combobox expanded to 10 rows, single select obviously
    • ideally we need to support whether page is a single instance of the CT, or a list
    • potentially list page could have options, like 'paginate pages', etc
    • in terms of UI, combo box of CTs could be on left, radio choice on right <single / list >, 'single' pre-selected
  • next section is called "Location", and defines where in page hierarchy page will exist
    • choosing "change location" opens modal, that shows page hierarchy, choosing a node will put current page under that node

See google sites that does mostly the same thing.

Suggested schema

-- --------------------------------------------------------

-- 
-- Table structure for table `page`
-- 

CREATE TABLE `page` (
  `page_id` int(11) NOT NULL,
  `parent_id` int(11) default NULL,
  `order_id` int(11) NOT NULL default '0',
  `level_id` int(11) NOT NULL default '0',
  `layout_id` int(11) NOT NULL,
  `content_type_id` int(11) NOT NULL,
  `appears_in_nav` tinyint(1) NOT NULL default '1',
  `are_comments_allowed` tinyint(4) NOT NULL,
  `is_title_displayed` tinyint(4) NOT NULL,
  PRIMARY KEY  (`page_id`),
  KEY `parent_id` (`parent_id`),
  KEY `is_active` (`appears_in_nav`),
  KEY `parent_id_2` (`parent_id`,`appears_in_nav`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

-- 
-- Table structure for table `page_trans`
-- 

CREATE TABLE `page_trans` (
  `page_trans_id` int(11) NOT NULL,
  `site_id` int(11) NOT NULL,
  `language_id` varchar(5) NOT NULL,
  `title` varchar(255) default NULL,
  `meta_desc` text,
  `meta_kw` text NOT NULL,
  PRIMARY KEY  (`page_trans_id`,`language_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

-- 
-- Table structure for table `route`
-- 

CREATE TABLE `route` (
  `route_id` int(11) NOT NULL,
  `site_id` int(11) NOT NULL,
  `route` text character set latin1 NOT NULL,
  `page_id` int(11) NOT NULL,
  `content_id` int(11) NOT NULL,
  PRIMARY KEY  (`route_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Attachments

new_page.png (86.2 kB) - added by demian on 01/15/09 17:50:23.

Change History

01/15/09 17:50:23 changed by demian

  • attachment new_page.png added.

01/23/09 12:39:58 changed by demian

  • description changed.

01/23/09 12:46:14 changed by demian

  • description changed.