Code Monkey home page Code Monkey logo

dmx-webpages's Introduction

DMX Webpages

This DMX plugin brings multi-site web-publishing capabilities to your DMX installation.

Installing it introduces the type defintions for a Website, Webpage, Webpage Section, Tile, Button, Link, Website Redirect and a Website Menu Item. The following figure shows an overview of the type definitions installed when deploying the dmx-webpages plugin into a.

Webpages Applicaton Model: Type Definitions Expanded

Feature-wise, this plugins allows for one global website ("Standard Website") as well as a website for each DMX user. Each website can appear in a different style or layout, has its own namespace and its own webpages.

The HTML generated by this module tries to map (at best as possible) the DMX standard types to the terms of the Schema.org vocabulary.

Webpages is build on the dmx-thymeleaf module.

Installation Requirements

See system requirements at dmx-systems/dmx-platform

It is recommended to use DMX 5.1 (or higher) and it is required to use the following

You'll find both available for download both at https://download.dmx.systems.

Usage: Creating a Webpage

To start working a Webpage simply use the Create menu in the "Search/Create" dialog of DMX Webclient.

To publish a Webpage it must be connected to a Website. To do so, create a webpage and create an "Association" (Grey) between the Webpage and your Website topic.

Search and reveal your Website. The website topic allows you to edit and enter some basic information (e.g. Footer, About Text, Stylesheet etc) which is shared across all webpages associated with the website.

After you've associated your webpage with your website, you can use the "Browse" command available on the Website topic to see how your new website looks like.

In the following graphic you see the configuration of a "Hello World" website with five main menu items, a website header, a webpage with a custom header and with three webpage sections.

Website Example: Setup of a Hello World Website

Note: The permission who can see your published webpage depends on the so called SharingMode of the workspace your webpage topic is assigned to. You can learn more about sharing data with the public or within a group of users in the DMX User Guide - Collaboration and Sharing.

The webpages modules is still far from perfect and comes with a lot of quirks. Feel free to ask for help or give feedback in the DMX Forum. For more help using DMX Webpages check out its documentation here.

License

DMX Webpages is available freely under the GNU Affero General Public License, version 3 or later (see License).

The CSS library included in DMX Webpages is Fomantic-UI 2.8.4 and licensed under the MIT License (Link).

Changelog

0.8.2 - Aug 06, 2021

  • Fixes #32
  • Improves on #23

0.8.1 - Aug 05, 2021

  • Utilizing "Header JS" values when evaluating Header topics
  • Adapted to DMX 5.2 platform
  • Two bug fixes (#30, #31)

0.8.0 - Jan 04, 2021

  • Adapted to DMX 5.1's new type system (#15) and webclient (#21)
  • Migrated CSS library to Fomantic-UI 2.8.4 (community fork of Semantic-UI) since the latter is no longer maintained.
  • Added new "promut.css" theme (#16)
  • A bug-fix for search (main website not clickable)
  • Renamed "Standard Website" to "Main Website" (#29)
  • Removed "Webpage Header" and "Webpage Section" from Create Menu (#21)
  • Added "Menu Item" to "Website" context menu (#21)
  • Section Title -> Section Identifier (Not rendered any longer, #25)
  • Tile Headline -> Tile Identifier (Not rendered any longer, #25)
  • Webalias automatically derived on server-side (#19)
  • Re-organized all migrations for better readability (#29)
  • Features the exact same type URIs as 0.7.2 to allow content migration from a DM 4 Webpages installation using the DMX Import Export plugin

0.7.2 - Pending

(maintained in dm4 branch)

  • Compatible with DM 4.9.2
  • Improvements and fixes for third-party plugin integration
  • Enabled font-smoothing, esp. for bold bright serif texts on dark backgrounds
  • Added very basic json-ld mapping for an Institution to be publisher of the frontpage
  • Include tile child values and section titles in fulltext search results.
  • Preparations of displaying topic type icons on pages
  • Interchangeable footer thymeleaf fragment
  • Optimized loading of javascript resources & page script initialization
  • Adjustment of header button, section header and Pages section style
  • Added contact-form and mapbox-widget as Section Layouts
  • Added tile-content wrapper for additional custom-styles
  • File topic rendering precedes Tile Content rendering in Sections
  • Changes in HTML markup for article tag on pages

0.7.1 - Mar 08, 2018

  • Fixes Single Tile section layout
  • Added sorting for Tiles within Sections

0.7 -- Mar 07, 2018

Features:

  • Added support Headers customizable per Webage and Website
    (Screen size specific background images, image styles, text overrides, color styles and call-to-action buttons)
  • Added support for ordered Sections above or below Webpage content
  • Added support for various Grid Layout, Quote and Accordion segments within Sections
  • Added Tiles to compose content or clickable areas in Sections
    (Tile and screen-size specific background images or font and background colors)
  • Added support for a website specific logo image

Improvements:

  • Server side revision of main webpage and site routing (global site vs. user websites)
  • Upgrade and reconfigured custom build of semantic-ui 2.3
  • Switched to wordpress-style system fonts
  • Prepared Tiles as proxy objects for rendering various types of topics
  • Revised some old semantic-ui overrides
  • Revised markup of the three navigation menus
  • Extended dm4-webclient integration for simpler authoring
  • Introduced constants for all plugin specific type URIs
  • Added migrations to complete workspace assignments (specifically some View Config topics had been missed)
  • Switched from usernames to prefixes for routing multiple Websites

0.4.6 -- Nov 18, 2017

  • Maintenance relase improving on the custom events fired for 3rd party plugins

0.4.5 -- Nov 13, 2017

  • Standard Theme: Integrate semantic-ui standard theme
  • Multi-sites: Migrated username based prefixes to simple Website prefixes
  • Top-navigation bar with support for dropdown menus
  • Ajax based fulltext search in top nav bar
  • New custom events for 3rd parties to hook into template preparation

0.4.4 -- Jan 31, 2017

  • Arrange site navigation blocks as flexbox layout
  • Feature: Allow 3rd party plugins to hook in a top menu navigation fragment
  • Feature: Allow 3rd party plugins to gather menu items and webpage topics (for the "standard" website)
  • Fix: Website name is always "standard" on pages/templates registered by 3rd party plugins

0.4.3 -- Jan 04, 2017

  • Expose standard webpages and menu items to a 3rd party frontpage
  • A CSS fix in the "standard grey" stylesheet fixing menu position on each page

0.4.2 -- Nov 14, 2016

  • Revision of "standard-grey" stylesheet
  • Revision of server side java plugin code

0.4.1 -- Nov 03, 2016

Pleae have a look at this commit message for a short description of fixes and improvements in 0.4.1.

0.4 -- Aug 09, 2016

  • Completely revised webpage application model
  • Introduced new icons, types and a specific web-alias renderer
  • Depends on dm4-thymeleaf module version 0.6.1
  • Not compatible with previous version (dm4-webpages-0.3)
  • Developer note: This version only installs migrations 1, 2 and 3.
    Migration 4 and 5 are still in flux and may instal with the next release.
  • Uses Thymeleaf 2.1.3

Note: You cannot upgrade a dm47-webpages-0.3 installation to use dm47-webpages-0.4.

0.3 -- Nov 23, 2015

  • Useful to create and publish one website
  • Compatible with the collaborative DMX 4.7

0.1.1 -- Oct 09, 2015

  • Simple Web Pages for DMX 4.4.x

(C) 2016-2021 Malte Reißig

dmx-webpages's People

Contributors

jri avatar mukil avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

jri ralfbarkow

dmx-webpages's Issues

Work out 0.8.2 release for dealing with breaking changes in dmx-files module as of DMX 5.2

As it turns out, the "File" type definition was modified in the course of the modules revision for the 5.2 release....

Sadly, the commit message did not provide any hint of the actual change (e.g. a type def change and deletion of topic values...), see here for more details:
https://git.dmx.systems/dmx-platform/dmx-platform/-/commit/b4072f70609f993225fe2a65ade24c985c45e9e4

Upgrading to DMX 5.2 applied the migration which not only altered the type definitions but also removed value topics from the DB...

The webpages-0.8.1 release from yesterday is therefore defect and I can only advise everyone do not upgrade until 0.8.2 was released..

FYI: @jri

Turn "Section Title" and "Tile Headline" into Technical Identifiers

Situatino

  • Section and Title are modelled as Entity types and Section Title resp. Title Headline are Identity Attributes for that Entity
  • Both, Section Title and Title Headline are not always needed in practice. Often one is sufficient
  • Both of these are identity attributes mostly because the dmx-webclient form generator does not embed any other fields then identity attributes of an entity, if an entity is modelled as child of another entity

That is why things are as they are.

Problem:

  • DMX and the Webclient can't handle entities with empty identity attributes.

Solution:

  • Turn "Section Title" and "Tile Headline" into technical identifiers, meaning, do not render them as webpages. This allows editors to giving sections and titles internal/editorial names and thus working with sections and titles in the webclient comes with less errors (e.g. the webclient dis-associating sections or tiles from their parents because of someone cleared their title in the form)

Tasks:

  • Do not render section title and tile headline as elements of webpages
  • Write a migration that renames the "Section Title" and "Tile Headline" types (do not alter their URI)

Prepare and make 0.9 release

Two goals:

  • Solve multi-linguality #26
  • Replace the current association semantics used to build up webpages using a dedicated assoc type (e.g.turn all grey "Associations" into "Webpage Content") associations (#20)

Optional goals:

  • Migrate all "de.mikromedia.background.color" edges and turn them into "dmx.webclient.background_color" edges. This would be nice because currently, the users of the dmx-webclient see two assoc types with the same name "Background Color" and they can only select the correct one by accident.

Build new release

Write Migration:

  • Assign all new topic types into Webpages workspace
  • Implement all four grid layouts for sections
  • Implement placement of sections aside left and aside right of page content

Solve #5 and #9.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.