Server Manager 2 Howto incorporate a legacy contrib

From SME Server
Jump to navigationJump to search

Introduction

There are 3 possibilities for incorporating an existing (legacy) contrib into Server manager 2:

  1. Re-code the contrib into the Mojolicious environment in which SM2 is written. This is documented here.
  2. Code up a "dummy" perl panel using mojolicious (see example below) which is inserted uatomatically into the menu and calls the "embedded.html.ep" template file.
  3. Just import the current contrib and access it through the "Legacy" category on the menu.

This page explains (2) and (3) in a bit more detail.

Code up a dummy page which calls the legacy panel

If you want to be able to control the position and category in the menu for the legacy contrib then you'll need to create a perl program in: the directory:

/usr/share/smanager/SrvMngr/Controller


Here is an example for the smeserver-userpanel contrib:

package SrvMngr::Controller::Userpanelaccess;

#----------------------------------------------------------------------
# heading     : User management
# description : User Panel Access
# navigation  : 2000 150
# menu        : 
#----------------------------------------------------------------------
# name   : userpanelaccess,    method : get,   url : /userpanelaccess,     ctlact : Userpanelaccess#main
#
# routes : end
#----------------------------------------------------------------------

use strict;
use warnings;

use Mojo::Base 'Mojolicious::Controller';

use Locale::gettext;
use SrvMngr::I18N;
use SrvMngr qw(theme_list init_session);

#use SrvMngr::Model::Main;


sub main {

    my $c = shift;
    $c->app->log->info($c->log_req);

    my $title = $c->l('User panel access');
    $c->stash( title => $title, modul => 'https://mailserver.bjsystems.co.uk/server-manager/cgi-bin/userpanelaccess', height => 600 );
    $c->render(template => 'embedded');

}
1;

This file will need to be here:

/usr/share/smanager/SrvMngr/Controller/Userpanelaccess.pm
Screenshot from 2024-02-29 12-25-32.png

Note the menu entries at the top, and the route specification (the capitalisation and case matching is important here)

Also note the full URL for the SM1 (legacy) contrib, and also the window length (it defaults to 600px if you do not specify).

This all that is necessary to customise the menu entry for a legacy contrib.


Just install the contribs rpm and call it from the "Legacy" category

Screenshot from 2024-02-29 12-25-15.png

Server manager 2 will scan for installed contribs, and any that are not fully compatible with Mojolicious will just load the menu entry, using the package name as a link, under the "Legacy" category, normally at the bottom of the menu stack.



The need to login into Server Manager 1

If the legacy contrib does not show after clicking on the menu entry (either for mode (2) or (3) above), then it is probably that you are not logged into SM1. This can be achieved using the button in the top border of SM2 titled "Legacy SM". You can almost certainly use the same credentials that you used to go into SM2. Unfortunately the two programs use different login mechanisms.

Bugs

Please raise bugs under the SME-Server section in bugzilla

and select the component or use this link


Below is an overview of the current issues for this package:

IDProductVersionStatusSummary (142 tasks)
12893SME Server 11.XunspecifiedRESOLVEDCountry flag display uses a google data lookup to find country name
12892SME Server 11.XunspecifiedRESOLVEDCSRF protection plugin causes error message when in production mode
12891SME Server 11.XunspecifiedVERIFIEDShould only display "Reconfiguration required" based on Configuration/UnsaveChanges DB entry
12889SME Server 11.XunspecifiedIN_PROGRESSViewlogfiles panel has use perl::Time:TAI64 - not needed.
12887SME Server 11.XunspecifiedCONFIRMEDMake Version number only display on admin login
12886SME Server 11.XunspecifiedVERIFIEDAdd Mojolicious version to footer
12885SME Server 11.XunspecifiedRESOLVEDUpdate to fix crash with perl-mojolicious 9.39
12884SME Server 11.XunspecifiedCONFIRMEDIf the First / last name are already duplicated in another account, then the error message is not specific enough (and confusing)
12870SME Server 11.XunspecifiedRESOLVEDMessages dropdown in View Log Files for Server manager 2 is too wide.
12866SME Server 11.XunspecifiedCONFIRMEDserver-manager letsencypt should have on/off for ip check
12865SME Server 11.XunspecifiedVERIFIEDserver-manager reconfigure returns blank page
12864SME Server 11.XunspecifiedRESOLVEDserver-manager letsencrypt panel spelling
12847SME Server 11.XunspecifiedRESOLVEDunexpected path fails some action scripts
12846SME Server 11.XunspecifiedRESOLVEDonclick should be replaced by href
12845SME Server 11.XunspecifiedRESOLVEDflag-icon.min.css should not be provided by cloud flare
12844SME Server 11.XunspecifiedRESOLVEDxxcolor unknown property for selector .login-button
12843SME Server 11.XunspecifiedRESOLVEDcross request to external website should be removed
12840SME Server 11.XunspecifiedRESOLVEDServer-Manager 2 CSP policy
12839SME Server 11.XunspecifiedRESOLVEDthere might be something hardcoded in userpanelaccess
12838SME Server 11.XunspecifiedRESOLVEDDevTools failed to load source map: Could not load content for https://sme11bhs.pialasse.com/smanager/js/pdfmake.min.js.map:
12837SME Server 11.XunspecifiedRESOLVEDExternal files from CDN need to be internal
12828SME Server 11.XunspecifiedRESOLVEDUpdate JS components to latest version
12810SME Server 11.XunspecifiedRESOLVEDMove Letsencrypt action routines to a new package smeserver-certificates and getmyip to smeserver-lib
12803SME Server 11.XunspecifiedRESOLVEDAdd password display icon on password panels for user, ibays and system
12802SME Server 11.XunspecifiedRESOLVEDRed Error message does not respond to being compressed onto 2 lines (see attached)
12788SME Server 11.XunspecifiedRESOLVEDAH01215: CGI::param called in list context can lead to vulnerabilities (Persistent)
12762SME Server 11.XunspecifiedRESOLVEDNo valid prefix found in any entries
12758SME Server 11.XunspecifiedRESOLVEDAfter install a "signal-event smanager-refresh" is needed before SM2 comes up.
12757SME Server 11.XunspecifiedRESOLVEDArrange that all language translations are installed with smeserver-manager
12756SME Server 11.XunspecifiedCONFIRMEDLoaded Server manager 2 shows "Sme server 2 - initial" on browser tab
12755SME Server 11.XunspecifiedCONFIRMEDSetting deltarpm parameter in SM2 dnf/yum config results on warning on dnf call
12753SME Server 11.XunspecifiedVERIFIEDInclude release number in Version of SM2 in footer.
12751SME Server 11.XunspecifiedRESOLVEDAdd email link to action column in user accounts panel
12748SME Server 11.XunspecifiedRESOLVEDSM2 - After hitting the "save" button on a panel, then need some feedback to show it is working on the change.
12746SME Server 11.XunspecifiedCONFIRMEDSM2 does not seem to take the passwordStrength db property into allowance when checking passwords for users
12742SME Server 11.XunspecifiedRESOLVEDWebmail parameter "Save" on email panel gives "not updated"
12727SME Server 11.XunspecifiedRESOLVEDSoftware Install panel: Submit button for subservient panels centered.
12726SME Server 11.XunspecifiedCONFIRMEDSoftware Installer panel not waiting for dnf to finish and displaying log to that point.
12725SME Server 11.XunspecifiedCONFIRMEDTop message when reconfigure required not set to be translateable.
12724SME Server 11.XunspecifiedRESOLVEDBackground update using dnf does not update software in SM2 software installer panel
12718SME Server 11.XunspecifiedRESOLVEDError clicking on software manager
12714SME Server 11.XunspecifiedRESOLVEDTurkish menu missing from SM2 menu - does exist in SM1
12713SME Server 11.XunspecifiedCONFIRMEDUpdate smeserver-manager.locale with po files (for weblate import) and also fix up a few lex files
12707SME Server 11.XunspecifiedCONFIRMEDJapanese, Norwegian and Hebrew navigation files have incorrect language codes
12706SME Server 11.XunspecifiedRESOLVEDAdd flag indication of locale in header for SM2
12705SME Server 11.XunspecifiedCONFIRMEDJapanese and Romanian translations only partial - headings, but not a lot more.
12704SME Server 11.XunspecifiedCONFIRMEDHebrew translation only has "Date and Time" panel translated.
12703SME Server 11.XunspecifiedCONFIRMEDGreek user panel has tag showing.
12702SME Server 11.XunspecifiedCONFIRMEDsome translations missing Menu item translation
12701SME Server 11.XunspecifiedCONFIRMEDSome translated panels are scrambled good example is Hostnames panel
12700SME Server 11.XunspecifiedCONFIRMEDNo way of programming in the translation for a contrib menu item title to be translated
12699SME Server 11.XunspecifiedCONFIRMEDSM2 Re-configure and Reboot not translated
12696SME Server 11.XunspecifiedCONFIRMEDUncaught File 'Roboto-Regular.ttf' not found in virtual file system
12695SME Server 11.XunspecifiedCONFIRMEDcache issue
12680SME Server 11.XunspecifiedRESOLVEDAlign "submit" button on the left consistently on initial panel for each function
12679SME Server 11.XunspecifiedVERIFIEDAdd mojolicious logo to footer
12674SME Server 11.XunspecifiedRESOLVEDAdd some margin around the table controls
12672SME Server 11.XunspecifiedRESOLVEDSubmit (Save/Perform/etc) button on the bottom each panel is often not in the same place
12671SME Server 11.XunspecifiedRESOLVEDRemote Access form shows a empty network present - errors on save "field validation error"
12669SME Server 11.XunspecifiedRESOLVEDAfter using dnf to update and reboot, unable to login to SM1
12667SME Server 11.XunspecifiedCONFIRMEDWorkstation restore from a removeable device fails
12666SME Server 11.XunspecifiedCONFIRMEDLegacy panels under Server Manager 2 still require login to SM1
12664SME Server 11.XunspecifiedRESOLVEDsmanager excessive logging to messages
12656SME Server 11.XunspecifiedRESOLVEDTables do not show the Datatable stuff and extra buttons
12655SME Server 11.XunspecifiedRESOLVEDUnable to reset password through "password Reset" link on login
12652SME Server 11.XunspecifiedRESOLVEDUnable to add an ibay
12645SME Server 11.XunspecifiedCONFIRMEDsmanager - Wokstation Backup - attempt verify backup fails, does not list backups
12644SME Server 11.XunspecifiedVERIFIEDsmanager - selecting workstation backup using a removeable device no devices displayed in form
12643SME Server 11.XunspecifiedRESOLVEDError message in logs on Startup 'Argument "" isn't numeric'
12641SME Server 11.XunspecifiedCONFIRMEDBackup or Restore - when selected no drop down displayed to select method
12640SME Server 11.XunspecifiedRESOLVEDAdmin User forward not displayed in user table
12608SME Server 11.XunspecifiedRESOLVEDAH01215: CGI::param called in list context can lead to vulnerabilities (FormMagick)
12498SME Server 11.XunspecifiedRESOLVEDRegression - menu restore does not work
12488SME Server 11.XunspecifiedRESOLVEDLegacy contribs (ones not converted to SM2 / mojo code) are left in the menu at the end and appear in a new browser window / tab
12485SME Server 11.XunspecifiedRESOLVEDRun the server manager perl files through perltidy.
12484SME Server 11.XunspecifiedCONFIRMEDMake sure that the categories/sections in the menu are in the same order.
12483SME Server 11.XunspecifiedRESOLVEDhos_ERROR_CREATING_HOST on adding new hostname
12482SME Server 11.XunspecifiedCONFIRMEDMake login by ordinary user show correct menu
12480SME Server 11.XunspecifiedRESOLVEDNFR: Suppress the version number in the footer unless user logged in.
12479SME Server 11.XunspecifiedRESOLVEDClick on "add domain" and it goes to corporate DNS Settings.
12478SME Server 11.XunspecifiedRESOLVEDAfter creating I-bay it was not visible in the ibay list.
12476SME Server 11.XunspecifiedRESOLVEDRe-organise menu as per discussions on Rocket
12472SME Server 11.XunspecifiedNEEDINFOSM2 XTGeoipRev=enabled != displays as ==
12467SME Server 11.XunspecifiedRESOLVEDIcon not shown when second page selected on dataTable table
12466SME Server 11.XunspecifiedRESOLVEDAdd export buttons to tables in SM2 default theme.
12465SME Server 11.XunspecifiedRESOLVEDUpdate smeserver-manager-jsquery to fix left alignment of tables
12464SME Server 11.XunspecifiedRESOLVEDServer Manager 2 needs to save and restore menu organisation
12459SME Server 11.XunspecifiedRESOLVEDCreate rpm - smeserver-manager-jquery
12458SME Server 11.XunspecifiedRESOLVEDUpdate SM2 to use jquery plugin dataTable for tables
12457SME Server 11.XunspecifiedRESOLVEDExperiment with making tables sortable and filterable and paged - using jquery.
12446SME Server 11.XunspecifiedCONFIRMEDInitial screen - immediately after install - fails to show translated message
12442SME Server 11.XunspecifiedRESOLVEDDefault theme for SM2 submit button does not reflect hover or click
12428SME Server 11.XunspecifiedRESOLVEDSM2 Login button does not highlight when you press it. - default Theme
12392SME Server 10.X10.1VERIFIEDDomains panel does not show borders around table of domains
12387SME Server 11.XunspecifiedRESOLVEDServer Manager 2 should open unconverted contribs/panels in the current page, possibly within an iframe
12245SME Server 11.XunspecifiedCONFIRMEDMenu formatting with Server Manager 2 and AdminLTE
12209SME Server 10.X10.0VERIFIEDOnly show Reconfigure button and message after an update if UnsavedChanges='yes'
12111SME Server 11.XunspecifiedRESOLVEDuntainting server-manager2
11989SME Server 11.XunspecifiedRESOLVEDRollup changes including AdminLTE 3.1
11906SME Server 11.XunspecifiedRESOLVEDSort out spacing in menu when small fonts selected
Warnings were generated during the execution of function
  1. Report truncated - count greater than max allowed 101 > 100


Changelog

Only released version in smeserver are listed here.