Fork me on GitHub
Reply New Topic
2017/10/2 0:56:12
Home away from home

Tuskfish - new content module (in development)

Sorry something is up with line breaks, I don't seem to be able to fix it. Just a short note to let you know that I'm starting work on a new content and tagging module for ICMS called "Tuskfish". It will be an adaptation of an existing side project I have completed, so I hope it won't take too long. It's basically a (major) refinement to the ideas in the Library module but written from scratch. Features include: * Publish different types of content (articles, downloads, images, static pages, audio and video recordings, tags and collections) from a single module with a common, Dublin Core-based form. * Organise your content using tags and collections. * Publish a mixed stream of content types on a single page (or filter it by type, if you prefer a traditional approach). * No more /modules/ in your URL, controller scripts are moved out into the site root and content is served straight from your index page. Or you can add custom page names as you see fit (eg. articles.php, about.php) by adapting supplied examples. * Access any content object on your site via its ID, eg: * Easily extensible to add new types of content. Basically you just add class/handler files, whitelist the new type and add a template for displaying it. A major departure from the Library module is that tags and collections (= categories) are just additional types of content object and have been folded into the module rather than being managed separately. They live in the same database table as everything else. You can organise your tags into collections to avoid problems such as menu bloat. Keeping content objects in the same database table makes queries simple and efficient. Using standardised mechanisms for handling and presenting them helps to keep the code base lean, and stops inconsistencies creeping in as (I found) happens when you maintain a number of different modules written at different points in time and with different levels of experience. Tuskfish will replace several of my old Gone Native modules: Catalogue, Library, News, Partners, Podcast, Projects and Sprockets. It performs all of these functions and far more efficiently too. Having only one content module to maintain will make maintenance a more realistic option for me.

2017/10/10 9:57:48
Just popping in

Re: Tuskfish - new content module (in development)

Sound big. Interesting! Do you think the settings can be kept "in this world" ? Hope its okay with a general Q here... Theory, perhaps practice: Lets say you aim for 1 main area of using... you get let's say 20 inputs to make in settings. If you broaden that to two usergroups, would it the (likely) grow from 20 to 30 settings OR from 20 to 50 settings? General module settings?

2017/10/11 1:18:01
Home away from home

Re: Tuskfish - new content module (in development)

Yes, when you look at content objects from different modules (news, downloads, podcasts etc) they are actually not very different at all. Most of their properties are shared (they all have or can have titles, authors, descriptions, views, attached files and so on as per the Dublin Core). It's the same with preferences one fairly small set of preferences can be used for everything. Rather than have separate modules for different data types, you can just have separate front end controller scripts (articles.php, downloads.php etc) or use one script to server a mixed stream of all content types. Each content type has its own handler and HTML template, so you can customise how different types of object are displayed. The best part is the module will be surprisingly small, not much bigger than a 'single content type' module, as the most of the code is common.

2017/10/11 6:25:02

Re: Tuskfish - new content module (in development)

I'm looking forward to this, more modules means more choice to have the module that closest works how you want to manage the content on your site.


Me on Ohloh

Reply New Topic extras
 Previous Topic   Next Topic

Post Reply
Name   Password   
url email imgsrc image php hide code quote
alignleft aligncenter alignright bold italic underline linethrough   

Confirmation Code*
  The code is case-insensitive  Click the image for a new code. | Maximum attempts: 8
You can view topic.
You can start a new topic.
You can reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You can post without approval.