[Discussion] Manialink CMS

Talk about ManiaLink development in this forum

Moderator: NADEO

Post Reply
Posts: 205
Joined: 15 Jun 2010, 17:56

[Discussion] Manialink CMS

Post by zocka » 17 Jul 2016, 13:41

ITT: Things I see fit for Player Manialink CMS (Content Management Systems) at the current state of the Manialink system. Hopefully a discussion about the points listed.
  1. Preface/Motivation
    1. The items listed aren't necessarily ordered by importance but rather numbered so they can more easily be referred to.
    2. CMS can be quite big projects and Maniaplanet as a platform doesn't support Player Manialinks (unlike UI Manialinks for Gamemodes etc.) enough in terms of publicity so that maintenance of ML projects isn't rewarding. As of that we currently don't have a maintained CMS for players to get going, but probably no players that want to start a project either.
    3. I might be biased in some points from recent experiences with CM systems
  2. Components/Tasks for such a CMS
    1. User- and role-management, package management, internationalization [generic framework stuff]
    2. File-management (upload, download, Maniacodes), possibilities to include GBX-data-extraction etc. in the process, Maniacode payments [more manialinky stuff]
    3. Probably a bit of templating? Support for including/merging ManiaScript files [manialink specific stuff]
    4. Web frontend for most data management tasks as these are more comfortable with a browser (file path restrictions, forms etc.)
    5. Admin panel in game for interactive wysiwyg layouting etc.
    6. SEO supporting markup generation (see below)
  3. Structure
    1. I came to appreciate a structure with functionallity split into vendor packages e.g.
      • Framework/Core
      • Framework/Media
      • Framework/Users
      • Plugins/<Vendor>/Maps
      • Plugins/<Vendor>/ManiaExchange
      • Plugins/<Vendor>/Skins
      • Packages/<Vendor>/MyOwnManialink
      1. A "Maps" plugin would provide models, hooks into the file upload process to extract GBX data, methods to access uploaded maps etc.
      2. The "MyOwnManialink" package would provide needed logic and components up for customization.
      3. I understand "components" as settings + markup + script, provided by packages
    2. Pages can be created with or without content specifications and are filled with components rather than being a certain page type like MapsPage, GuestbookPage etc. as we saw in some previous systems.
    3. Components should be dominantly be defined by configuration files and markup so that they can be configured with automatically created forms for both an in-game- and a web-interface. They would range from simple elements (Quads, Labels) over building blocks like Checkboxes (maybe containing multiple markup elements and requiring ManiaScript) to complete logical units like a guestbook consisting of all of the above.
    4. The framework should provide an API based on a class structure automatically handling data representation for usage with ManiaScript HTTP requests in the components, e.g.
      1. \Vendor\Package\Datasources\ManiaFlashMessagesDataSource returns an array of ManiaFlash messages - somehow gathered in the plugin
      2. datasources/maniaflashmessages?channel=...&format=xml returns a formatted representation of the data
      3. Some ManiaScript wraps methods like Framework_Datasource("maniaflashmessages", ["channel"=>"..."]); and allows custom event handling
  4. SEO
    1. Manialinks cannot really be found, ManiaPub is "WIP" for a long time and without any prominence
    2. Unless we are presented with an official solution we can scrape known manialinks, follow links on the page and retrieve information
    3. A standard is to be proposed - either with official support of meta tags or by some convention of element IDs on hidden elements. Possible information might contain
      • author, title, link, description
      • sitemap, links to explicitly follow
      • images like icon, preview, banners in different resolutions that can be used by ManiaPub or search results
      • content data, compare to google's smart card standards
  5. Manialink specific frontend considerations
    1. Absolutely positioned elements => components are probably movable and removable. (I consider the Boxes CMS a few years ago as a candidate with a useful implementation of that concept)
    2. Adding elements/components requires reloading the complete admin area other than we know from the Interface Editor.
    3. Running the backend as some kind of plugin which can use UI Layers and fetch content on the go and lastly save some template file?
    4. Usage of framemodels as platform pattern vs data in framemodels via backend templating/rendering
    5. Decentral vs central ManiaScript and dependency management (multiple plugins might require a third party library without adding it to every package (central), but will probably split their own logic into multiple files per package (decentral))
    6. ML browser features like modifying the displayed address to make up for ManiaScript-based pagination etc.
  6. Manialink/Player ML specific problems
    1. (Publicity of Manialinks)
    2. Need for Manialinks? Content can be distributed via MX, Carpark etc., Packs with built-in pricing...
I'm working quite some time with manialinks now and have put a lot of consideration and some experience into this listing but probably still missed some points while writing this.
Personally I currently don't see any audience for a project like this (also due to some points mentioned above). The manialink specific parts of a system like this might easily be so big that an adaption of existing (web-oriented) systems wouldn't be a small task either.

I'd like to read other's opinions and maybe see some discussion on this topic.
manialink minigame shatter
my manialink: zockaml
my maniaflash: maniaflash?zocka

User avatar
Posts: 1164
Joined: 01 Sep 2010, 14:39
Location: España, Barcelona

Re: [Discussion] Manialink CMS

Post by Rots » 17 Jul 2016, 17:11

In programming I can't bring much opinion to start this project from scratch, I see you bring up the main concerns and structure of what should be done and I would fully support the project. I agree mostly on everything you say.

As a manialink owner (even if down now) and user for years of manialink CMS' and also your mQuery (which made me learn a lot of maniascript oriented to manialinks, thank you :D ), I've managed to modify existing CMS's to my needs, integrating maniascript libs and such to adapt old php cms to current times. Obviously, I made it for personal use and knowledge and never intended to release anything as i'm not even a programmer :lol: .

Indeed, the usage of maniascript raises a bunch of possibilites regarding dinamicity and performance, which is good, and a properly done Maniaplanet CMS including all of this is yet to be done, which means there's place for it in the community.

As I read your 4. 5. 6. we see the concerns of doing that now, no public and difficulties = no motivation, need. Personally I'd love to test and "share my needs" as a CMS user in order to improve what could be done but yea, If someone uses it.
TrackMania Original brought me here... Here I am since 2006

Post Reply

Return to “ManiaLink”

Who is online

Users browsing this forum: No registered users and 1 guest