Bug 7840

Summary: Remove from manual Koha as a CMS (or add it to master)
Product: Koha Reporter: Magnus Enger <magnus>
Component: DocumentationAssignee: Caroline Cyr La Rose <caroline.cyr-la-rose>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P5 - low CC: caroline.cyr-la-rose, gaetan.boisson, gmcharlt, indradg, katrin.fischer, marie-luce.laflamme, martin.renvoize, mjr, viktor.sarge
Version: master   
Hardware: All   
OS: All   
See Also: http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=14980
Change sponsored?: --- Patch complexity: ---
Documentation contact: Caroline Cyr La Rose Documentation submission: https://gitlab.com/koha-community/koha-manual/-/merge_requests/597
Text to go in the release notes:
Version(s) released in:
Bug Depends on: 15326    
Bug Blocks:    
Attachments: Mockup with idea for primary navbar with Koha as CMS
Mockup with third level page displayed

Description Magnus Enger 2012-03-28 08:42:46 UTC
* magnuse has a library asking about "Using Koha as a Content Management System"
<magnuse> http://manual.koha-community.org/3.6/en/kohacms.html
<magnuse> http://wiki.koha-community.org/wiki/Koha_as_a_CMS
<magnuse> no plan on implementing that hack - feels like it should either be part of koha or removed from the manual? 
<kf> magnuse: I guess perhaps implementing the hack as a real featurew would be nice
<kf> I have had some problems with editing localuse prefernces :( there is a bug
<kf> on bugzilla for that
<kf> magnuse: perhaps it could be an enhancement to work similar to the news?
<slef> we've used koha as a CMS before. Not sure if it was that hack or an earlier one. Basically: don't. Use a CMS.
<kf> slef: I agree, but an option to add a few pages is nice
<kf> slef: not full cms functionality, but perhaps things like a help page
<slef> anyone like to open a bug suggesting dropping Appendix E from the manual, or integrate it properly, using extending news instead of using sysprefs?

So what do we want to do? 

1. Remove appendix E from the manual? 
2. Implement limited CMS-functionality properly?
Comment 1 Nicole C. Engard 2012-03-28 18:50:07 UTC
Magnus,

I know people who are using this feature and so I don't want to remove it from the manual - even if it is a hack - it works.

Once the new way is implemented we can put that in instead.

Nicole
Comment 2 Galen Charlton 2013-06-17 15:29:05 UTC
My personal inclination (though one not yet backed by any patches) would be to turn Koha-as-CMS into a proper feature, along the lines of:

- add a syspref to enable it
- create an admin page to manage the page_* sysprefs
- use TinyMCE as a WYSIWYG editor (this is inspired by some IRC discussion today)
Comment 3 Nicole C. Engard 2013-06-17 15:34:13 UTC
(In reply to comment #2)
> My personal inclination (though one not yet backed by any patches) would be
> to turn Koha-as-CMS into a proper feature, along the lines of:

I agree!
Comment 4 Viktor Sarge 2013-06-17 16:23:15 UTC
I´d too like to see this as a proper feature. Koha handles replacing the current web frontends quite good and only really lacks when it comes to CMS-functionality. What I would consider a good baseline is: 

* Wysiwyg editing of pages. 
* A few levels deep of pages (horizontal navigation bar + left hand navigation working together)

I´d be interested to hear from someone in the know what this would take to implement. We know we will want to do some development during late 2013/2014 and I'd like to know if this is something we could afford to fund/co-fund.
Comment 5 Katrin Fischer 2013-06-18 06:22:10 UTC
I think maybe we could use the news tool for this. The advantage of the news tool is, that it already has some CMS-like functionality and allows you to add content in multiple languages. The system preferences are always limited in that area.
Comment 6 Viktor Sarge 2013-06-18 10:56:41 UTC
Using the news tool sounds like a good start. I'd say baseline would be to light up pages with content in the main area created with the news tool. The ability to also publish a right hand column (perhaps in the popular "right hand boxes" style) would be great. 

Language handling is good - but I´d say we also need the possibility to publish a page "for all langugages that doesn't have their own version of the page". If it isn't already possible that is.
Comment 7 Galen Charlton 2013-06-18 17:05:45 UTC
(In reply to comment #5)
> I think maybe we could use the news tool for this. The advantage of the news
> tool is, that it already has some CMS-like functionality and allows you to
> add content in multiple languages. The system preferences are always limited
> in that area.

Interesting idea.  There are a couple aspects of OPAC news as it exists now that don't map cleanly to the Koha-as-CMS hack, most particularly title and number, but possibly also expirationdate.  However, a bit of refactoring of the database tables might lead us to something like this:

CREATE TABLE page_content (
   id int(10) not null auto_increment,
   html text not null,
   PRIMARY KEY (id)
);

CREATE TABLE `opac_news` ( -- data from the news tool
  `idnew` int(10) unsigned NOT NULL auto_increment, -- unique identifier for the news article
  `title` varchar(250) NOT NULL default '', -- title of the news article
  `lang` varchar(25) NOT NULL default '', -- location for the article (koha is the staff client, slip is the circulation receipt and language codes are for the opac)
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP, -- pulibcation date and time
  `expirationdate` date default NULL, -- date the article is set to expire or no longer be visible
  `number` int(11) default NULL, -- the order in which this article appears in that specific location,
  page_content_id int(10) not null,
  CONSTRAINT opac_news_fk1 FOREIGN KEY (page_content_id) REFERENCES page_content (id) ON DELETE RESTRICT ON UPDATE CASCADE 
  PRIMARY KEY  (`idnew`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE cms_page (
  id int(10) unsigned NOT NULL auto_increment,
  default_page_content_id int(10) null, -- page to use if no specific matching language available
  PRIMARY KEY (id),
  CONSTRAINT cms_page_fk1 FOREIGN KEY (default_page_content_id) REFERENCES page_content (id) ON DELETE SET NULL ON UPDATE CASCADE 
);

CREATE TABLE cms_page_lang_map (
  id int(10) unsigned NOT NULL auto_increment,
  lang varchar(25) NOT NULL default ''
  page_content_id int(10) not null,
  PRIMARY KEY (id),
  CONSTRAINT cms_page_lang_map_fk1 FOREIGN KEY (default_page_content_id) REFERENCES page_content (id) ON DELETE CASCADE ON UPDATE CASCADE 
)
Comment 8 Katrin Fischer 2013-06-18 17:08:26 UTC
I know that CMS like Typo3 let you set an expiration date for your pages - so that's not unseen in a CMS and you can leave it empty to mean forever. But it seems you need a start date that is at least "yesterday".
Comment 9 Viktor Sarge 2013-06-19 08:43:51 UTC
Created attachment 19147 [details]
Mockup with idea for primary navbar with Koha as CMS

I'm trying out some mockups of how Koha as CMS might look to the patron. As I don't use it as of now this might be redundant but this is how I'd imagine it. Since there is already the head with a black horizontal cross-site navigation I'm going with tabs.

(I'll go think about how a third level page or similar might look and post something there too)
Comment 10 Viktor Sarge 2013-06-19 10:02:28 UTC
Created attachment 19149 [details]
Mockup with third level page displayed

This is a mockup of the tabbed main nag + left hand navigation that goes two levels deep. I'm not completely happy with how the different levels of the left hand navigation is displayed. Some kind of highlight might work to give focus to the active page in the left hand navbar. 

* The main area of the page is though to come from the news-functionality. 
* The main nav and left hand bar i auto generated. Some kind of "create a new page"-functionality will be required here to create a page, give it a name, give it a title in the navigation and place it in the hierarchy. 
* The box(es) on the right hand column should also be created with the news tool and I'd rather see that they are standardized then user-created boxes through hacking a two column layout in the main area.
Comment 11 Gaetan Boisson 2015-10-12 09:26:15 UTC
See Fridolin's POC on bug 14980.
Comment 12 Marie-Luce Laflamme 2020-07-24 19:59:46 UTC
Is this still relevant? The news tools has changed drastically since this conversation.
Comment 13 Katrin Fischer 2020-07-25 08:19:24 UTC
(In reply to Marie-Luce Laflamme from comment #12)
> Is this still relevant? The news tools has changed drastically since this
> conversation.

The feature described here was used to add new pages to the OPAC, that's something that's still not possible with the News feature, but it would be with 
Bug 15326 - Add CMS feature.

We should probably still remove the CMS instructions if they are still there, because they are unlikely to work anymore and require to change Koha core code, which we shouldn't recommend:

https://koha-community.org/manual/20.05/en/html/extending_koha.html?highlight=cms#using-koha-as-a-content-management-system-cms
Comment 14 Caroline Cyr La Rose 2022-10-27 16:05:26 UTC
I'm documenting bug 15326, I will remove the section about CMS at the same time.
Comment 15 Caroline Cyr La Rose 2023-05-11 20:40:54 UTC
This has been done for a while, closing.