mandag den 16. oktober 2017

Knowledge about complex communication


Knowledge about complex communication, interfaces and security is needed before customer are able to control real-time data for optimal use in the daily business.
Old databases, new devices, new platforms and technologies often force the customer to change to total new platform from one vendor without a profitable business case.
We are specialized in integration. We have a wide knowledge about protocols and interfaces. We are able to design the needed middleware so you can use all the needed business applications and 3.pp hardware in you system.
This will help you to keep a profitable investment.
We has developed a multi host communication system called the UNA-system, which enables devices to communicate with different host environments simultaneously in both LANs and WANs. The UNA-system is a concept rather than a product. The system takes different shapes depending on the customer and the technology in question and therefore often perfect as a middleware product in integration between different platforms.

Top simple navigation + left subnavigation + 1 column

With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left. In this case the sub-menu to the left displays the sub-levels (children) to Default Templates Explained.

The {menu} tag

The {menu} tag is inserted twice in the page template. First where the main navigation is, which should only show the top level. It looks like this: {menu template='simple_navigation.tpl' number_of_levels='1'}.
The sub navigation should only contain the second level and down, depending on what is selected on the first level. Also, the third level links should only display when its parent on the second level is clicked, otherwise they are hidden. That is, the second level is collapsed unless the current page has sub pages.
The tag for the sub navigation looks like this: {menu template='simple_navigation.tpl' start_level='2' collapse='1'}.

Attached style sheets for the menu

As the main navigation and the sub navigation need to be styled differently (one horizontal, the other vertical), two navigation style sheets are attached to this page template. Navigation: Simple - Horizontal is for styling the horizontal main menu. Navigation: Simple - Vertical on the other hand, contains the style for the sub navigation to the left.

Both using the same Menu Manager template

However, as you could see, both parts of the navigation are using the same menu manager template. That is because the output code is the same. It is only through CSS that the two parts get styled differently.

Floating the sidebar to the right

You can easily float the sidebar with the sub navigation to the right instead. Look in the Layout: Top menu + 2 columns style sheet for the float:left; property in the div#sidebar element. Change that to float:right; and the sidebar with the menu will instead be on the right side of the content, of course you will also have to adjust the margins for the sidebar and the div#main, basically just swap the left and right margins.

CMSMS tags in the templates

Here we explain the tags that are used in the default templates that are specific to templates in CMS Made Simple. The rest of the templates are just pure HTML. You can read more about that in the documentation wiki(external link).

Page title

<title>{sitename} - {title}</title>
For each page using these tags in a template the tags are replaced with the site name you specify in Site Admin » Global settings and the title you specify when you add/edit each page.
Read more about the {sitename} and {title} tags in Extensions » Tags in the Admin Panel.

Metadata

{metadata}
This tag adds to your page any metadata that you have specified in Site Admin » Global settings and also page specific metadata that you can add under the Options tab when adding/editing a page.
It is also used for knowing the base folder for your site when using pretty URLs. So don't remove this if you use Pretty URLs!
Read more about the {metadata}tag in Extensions » Tags in the Admin Panel.

Stylesheets (deprecated)

{stylesheet}
This tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.
Read more about the {stylesheet} tag in Extensions » Tags in the Admin Panel.

Stylesheets

{cms_stylesheet}
This tag is the newer version of the tag above. The tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.
The new tag allows you to use smarty variables like [[$red]] to indicate a color, and one change will change it througout your layout. The new tag requires that [[root_url]]/ be put in front of images, as the stylesheets are cached.
Read more about the {cms_stylesheet} tag in Extensions » Tags in the Admin Panel.

Relational links

{cms_selflink dir="start" rellink=1}
{cms_selflink dir="prev" rellink=1}
{cms_selflink dir="next" rellink=1}
These are relational links for interconnections between pages, which is good for accessibility and Search Engine Optmization
Read more about the {cms_selflink} tag in Extensions » Tags in the Admin Panel.

Page width in Internet Explorer 6

{literal}
<script type="text/JavaScript">
<!--
//pass min and max -measured against window width
function P7_MinMaxW(a,b){
 var nw="auto",w=document.documentElement.clientWidth;
 if(w>=b){nw=b+"px";}if(w<=a){nw=a+"px";}return nw;
}
//-->
</script>
<!--[if lte IE 6]>
<style type="text/css">
#pagewrapper {width:expression(P7_MinMaxW(720,950));}
#container {height: 1%;}
</style>
<![endif]-->
{/literal}
This isn't a tag really, but displays how to insert JavaScript in a CMSMS template.
The default templates use fluid page width. But Internet Explorer 6 doesn't understand min-width and max-width, so for that browser the min and max page width is set with this JavaScript. For other browsers the page width is set in the style sheets beginning with "Layout: ..."

Skip links for accessibility

{anchor anchor='main' title='Skip to content' accesskey='s' text='Skip to content'}
Anchor links (links to an anchor in the same page) are inserted with the {anchor} tag. In the default templates this is used for skip links that are visible to screen readers, but hidden with CSS to visual browsers.
Read more about the {anchor} tag in Extensions » Tags in the Admin Panel.

Header with logo image that links to default page

{cms_selflink dir="start" text="$sitename"}
In the header the <h1> tag (hidden by CSS) is a link to the page that is selected as the default page. The dir="start" parameter in the {cms_selflink} tag is used for this. To get the site name as the text for the link, the $sitename variable is used.
Read more about the {cms_selflink} tag in Extensions » Tags in the Admin Panel.

Search

{search}
To insert a search form on your site, simply use the {search} tag. Search is actually a module and should therefore be called as a parameter in the {cms_module} tag, like this: {cms_module module='search'}. But to simplify matters, we did a wrapper tag so that it's easier to remember.
Read more about the Search module in Extensions » Modules in the Admin Panel.

Breadcrumbs

{breadcrumbs starttext='You are here' root='Home' delimiter='»'}
Breadcrumbs is a path to the current page. In the default templates we have chosen to put the text 'You are here' before the path and force 'Home' to always be the root in the path, even if it isn't. With the delimiter parameter you can select the delimiter that separates entries in the path.
Read more about the {breadcrumbs} tag in Extensions » Tags in the Admin Panel.

Navigation

{menu template='simple navigation.tpl' collapse='1'}
This is how you insert a menu where you want it to appear. Like the {search} tag, this is actually just a wrapper tag, as the Menu Manager is a module.
In the default templates the menu manager template that is used for the menus are stored in files. That's why you see the .tpl extension in the template parameter. But you can easily import menu templates to the database and edit them directly in the Admin Panel. Then you simply omit the .tpl extension in the template parameter.
Read more about the Menu Manager module in Extensions » Modules in the Admin Panel.

News

{news number='3' detailpage='news'}
This tag will display the last three news articles. When clicking a news article to read the details, it is opened on the page with the page alias 'news'. That's what the detailpage parameter is doing.
Like all core modules there is a wrapper tag for the News module, to make it easier to use.
Read more about the News module tag in Extensions » News in the Admin Panel.

Print button

{print showbutton=true script=true}
The {print} tag is used to insert a print link. With the showbutton parameter set to true we have told the tag to output a button instead of text. The script parameter set to true means the print dialog window opens when clicking the button, for immediate printing.
The {print} tag prints everything that is in your {content} tag, that is only the content for a page.
Read more about the {print} tag in Extensions » Tags in the Admin Panel.

Page content

<h2>{title}</h2>
{content}
Maybe the most important tag in your template. Where you put the {content} is where the content for your page will appear.
We have also chosen to put the page title on every page (the {title} tag), so that you don't have to put that in the content for every page.
The default {content} tag is required for all templates.
Read more about the {content} and {title} tags in Extensions » Tags in the Admin Panel.

Previous/next links

{anchor anchor='main' text='^ Top'}
{cms_selflink dir="previous" label="Previous page: "}
{cms_selflink dir="next"}
Some more internal links. These are using the dir parameter to link to the previous and next pages in the page hierarchy (separators and section headers will be omitted as they are no pages).

Page footer

{global_content name='footer'}
Instead of bloating your template with lots of code you can put some code in a Global Content Block. Then call that Global Content Block with the {global_content} tag. It's also useful for content or HTML code that is reused on several pages or templates.
In the default templates we have put the footer text in a Global Content Block with the name 'footer'. You find the Global Content Blocks in the Content menu in the Admin Panel.
Read more about the {global_content} tag in Extensions » Tags in the Admin Panel.

Default Templates Explained

CMS Made Simple 1.10.2 was installed with numerous default templates (you choose this during the installation process). These are to display some of the features of CMS Made Simple and to give you a head start when creating your own web sites.
The tags that are unique to templates in CMS Made Simple are described on the page  CMSMS tags in the templates (see menu to the left). Click on any link beneath that page in the menu to the left to see what the default templates look like.

Changing the style of Default Templates

All of the templates and style sheets have comments throughout them to help you find where to change the look of them.

Menus/navigation

Two kinds of navigation are used in these templates. For each there is a menu template in the Menu Manager. CSSMenu is a dropdown menu using only CSS. Well, for Internet Explorer 6 some JavaScript has to be used... Two of the page templates are using CSSMenu for navigation,  one with the menu horizontally at the top and the other  with the menu vertically to the left.
The other navigation type is what we call Simple Navigation. That is just an unordered list that gets its style and appearance from the style sheets (CSS). Also here  one page template is using a horizontal simple navigation and the other  a vertical menu.
The menu tag in each template is used like this: {menu template='cssmenu.tpl'}, where the cssmenu.tpl is the name of the Menu Manager template, if you make a custom menu template you don't need to use the .tpl on the end. More parameters can be used, for example to start a menu from the second level, collapse the children pages until the parent is clicked etc. Read more about that in the Menu Manager Help in the Admin Panel.

Where do I get help?

The CMS Made Simple community is always at your service if you need some help with your site. Here is where you find more information and support:
  • The CMSMS Documentation Wiki(external link) -- start here, this documentation is a community effort where anyone registered in the forums can add and edit
  • The CMSMS Forums(external link) -- here you can search for answers to your questions or ask just about anything.
  • IRC(external link) -- IRC is short for Internet Relay Chat and is like a community chat. Many developers hang out here and others that are ready to discuss and give support.
Please remember that people involved in developing and supporting CMSMS have day jobs and other duties and might not be available 24/7. Be patient and polite and you will get better answers.
Hope you will enjoy using CMS Made Simple for creating your web sites! If you want to contribute to the development yourself, you are very welcome to do so. You can contact us on IRC(external link) or hit the forums(external link) to get involved.
  • Lær alt om CMS her

Workflow


These are the basic steps when creating a website with CMS Made Simple:
  1. Plan -- Determine what pages you want (structure) and how you want these pages to look (design). 
  2. Create Templates -- Create one or several template(s) that determine the layout of your pages. 
  3. Style the Templates -- Attach one or more stylesheets to each template and style the layout and content with CSS. 
  4. Create Pages -- Then you create pages, add content to them and select what template to use for each page. 
When a user navigates to your site the page is created from the template, adding the content where the placeholder(s) are in the template.
  • Lær alt om CMS her

Event Manager

Events are a new powerful way of assigning actions to events. For example if you would like to send an email to the site administrator when a new file is uploaded or a new page is created by another user you could add some code to those events to be executed when that event happens.
In brief here's how it works:
a) A module, or the core, can register, and then Send Events such as "newNews", or "newFronteEndUser" or "fileUploaded", "editPage", etc, etc, etc. there's some 50 events in the core at the moment, and then uploads and frontend users have been configured to send events, We still have to do selfreg, etc, etc, etc.
b) There are pages in the admin to allow you to specify which modules, and/or user tags should handle those events, and the order that each of those handlers should be called in.
c) If one of the handlers of an event is a module, then.... the modules DoEvent method is called with the name of the event, and whatever data it wants to send. Each triggered event needs to be documented, but as of this moment, most are.

Extensions

There are three kinds of extensions, that can add many kinds of functionality to your default CMS Made Simple install. They are called tags, user defined tags, and modules.

Tags

Tags are the simplest form of extensions. They are designed to accomplish just one small and specific task.
There are a number of custom tags available with CMS Made Simple. To find what kind of tags are available look in Extensions » Tags in the Admin Panel.
To insert any of these in a template or a page, simply type e.g. {content}. Many of these Smarty tags are used as placeholders in a template, i.e. placeholders for content, navigation, breadcrumbs etc.
Website developers who have a bit of PHP experience will find it easy to create and share their own custom tags.

User defined tags

Users can also create their own tags to insert in templates or pages., these are called user defined tags. They are snippets of php code (but without the <?php and ?> surrounding them), providing the ability to add re-usable pieces of php functionality to your site. User defined tags are inserted in templates and pages just like tags: {tagname}.
Typically, user defined tags provide a utility that is special to a website, and likely won't need to be re-used on another site. Also they are typically small and used for simple tasks.
(external link).

Modules

Modules are the highest level of plugin in the CMS Made Simple environment. They are designed to allow developers to implement complex tasks within CMSMS. A module typically provides advanced functionality, usually interacts with the database in complex ways, and may provide numerous reports or forms on the website. Additionally, a module may have an administrative interface to allow manipulating its data and its settings.
An extremely well defined API (Application Programming Interface) has been written to allow module developers to write complex, intricate, and fully functioning applications for use within a CMSMS powered website.
There are  a few modules included with the default installation of CMS Made Simple. Other popular modules are Frontend Users, Album, Calendar, Guestbook and Form Builder.
The ModuleManager module (included with CMS Made Simple) allows browsing a list of available modules, reading about them, and then installing them on your website.
To insert modules in a template or a page, you actually use the module name as a parameter to the {cms_module} tag. It looks like this: {cms_module module='modulename' parameter1='this' parameter2=5 parameter3='that'}. It is normal for modules to accept parameters to effect changes to their default behavior, though it is not always required.

Menu Manager

The Menu Manager is a module that reads your page hierarchy and builds a navigation using a 'Menu Manager Template'. By default a few sample menu manager templates are included with your default installation. For most users these are enough, as a menu basically is just an unordered list that is styled with CSS.
The Menu Manager module also accepts various optional attributes (parameters) in the {menu} tag to allow you to customize its behavior. You can see the list and explanation of these parameters in the Menu Manager Help which can be found on the right side of the screen when you click on "Layout » Menu Manager" in the administration console.
Customizing templates in the Menu Manager is as simple as clicking the 'Import Template to Database' button, which will then allow you to create a template with a new name, and modify the layout of the template. You can use your new navigation template by specifying the new name in the call to {menu} in your page template. i.e: {menu template='mynewtemplate'}.

Menu Manager in the CMSMS Admin Panel

Read more about how to do this in the Help for the Menu Manager in the CMSMS Admin Panel. It can be found in the Layout menu.

Content


The content is the information for the page. We have already mentioned that for each page on your site you choose what template to use. When you add content to a page, it is automatically placed in the placeholders of the template selected for that page.
A template can define one or several content areas, or content blocks. To add more content blocks to your template, use {content block='block name'}. These blocks will then appear as text areas when you edit or add a page that uses that template.
You can make a content block use only one line, instead of a full text area, by using the parameter oneline=true. That is, the full tag being: {content block='block name' oneline=true}. Read about more parameters in the help for the Content tag in the CMSMS Admin Panel, under Extensions » Tags.

Content Types

There are currently 6 main content types in version 1.10.2 "Casa Pilote". These content types determine the type of content for each menu item.
  • Content
  • Error Page
  • External Page Link
  • Internal Page Link
  • Section Header
  • Separator
The Content type is simply a regular page. Normally this is the only one you will use. That is what this page you are reading is. Here you can put any content that you would put on a regular page. The layout of these types of pages are controlled by the templates. For each content page you create you must add the title, menu text, choose if it is going to have a parent and choose a template for it. If you login as admin and change the template of this page, you will see exactly how it works.
The Error Page type is just what it sounds like, a page you set for "404 page not found" errors, where you can add the content that shows when a 404 error occurs, a target type and title, you can also choose the template it uses, it has no parent as it is not part of the menu.
The External Page Link type is just what it sounds like, a link to another external page and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has. This external page link type also shows up in the menu following the same hierarchy rules as the content type.
The Internal Page Link type is also just what it sounds like, a link to another internal page. This internal page link type also shows up in the menu following the same hierarchy rules as the content type and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has.
The Section Header type is used to break up menus into groupings (sections). This is unrelated to the hierarchy, as the section headers have no associated pages with them but can be used to group a set of links of similar content under them. They are just a little bit of text to say what the next few links are in reference to.
The Separator type is just what it sounds like, a separator that appears on the menus. This type follows the hierarchy set in content management pages.

Pages and navigation


Pages determine the structure of your web-site as seen in the admin Content » Pages page. Think of a web-site as a set of pages. These pages are accessed through a menu. You can also link to a page from within another page.

Navigation/Menu

The navigation, or the menu, is a set of links that help the user to navigate through the pages on your web site. These links are automatically created by CMS Made Simple from the page structure. This hierarchy is what drives the menu you see on the left of this page.
Pages can be in several levels, like a tree of generations. The top level in the menu are the parent pages. Each parent page can have children pages, which in turn can be parents to other children.
The page template determines where on a page the navigation is placed.
You can create any kind of navigation you can dream of by customizing a menu template for Menu Manager. However, the default templates should work for most situations as the menu basically is just an unordered list that you style to your liking with CSS. The web is full of good articles about styling a list of links, one of the best is listutorial at maxdesign(external link)

Pages in the CMSMS Admin Panel

You add pages, as well as other content (see next chapter), in the CMSMS Admin Panel from the Content » Pages menu.

Templates and stylesheets

template is basically the HTML layout

template is basically the HTML layout, or the design, of a page. This is the work of the designer. Whatever is in a template is used on every page that uses that template, meaning that the person editing the content doesn't need any web design skills.
In the template there are placeholders for content and navigation areas. When a user is visiting your site the page is automatically generated from the template and the placeholders are filled with the content.
The template is the HTML structure. It is then styled in one or more  style sheets that are attached to each template. This styling is done with CSS. So to get a site look the way you want you should be familiar with HTML and CSS on at least a basic level. But don't worry, there are themes with ready-made templates and style sheets for you to download!
When you first install CMS Made Simple there are some basic templates that you can use and customize to your needs. Those templates are described in the section  Default Templates Explained. The designer of your site can also add new templates to make the site look any way you want. The CMSMS community also shares themes for anyone to download and use at the CMSMS Themes site(external link).

Templates and style sheets in the CMSMS Admin Panel

In the CMSMS Admin Panel you will find the templates and style sheets in the Layout menu.

How CMSMS Works

So how is a web-site created with CMS Made Simple? There are a couple of terms that are central to understanding this.
You first need to have templates, which is the HTML code for your pages. This is styled with CSS in one or more style sheets that are attached to each template. You then create pages that contain your websites content using one of these templates.
That doesn't sound too hard, does it? Basically you don't need to know any HTML or CSS to get a site up with CMS Made Simple. But if you want to customize it to your liking, consider learning some "CSS"(external link).
In the menu to the left you can read more about this, as well as more advanced features like the Menu Manager, additional extensions for adding many kinds of functionality to your site and the Event Manager for managing work flow. Last is a summary of the basic work flow when creating a site with CMS Made Simple.

Running Docker on Homebrew

Docker has been growing in popularity among developers and sysadmins for the last few years, but it wasn’t until recently I decided to loo...