Showing posts with label Administrator Tools. Show all posts
Showing posts with label Administrator Tools. Show all posts

Tuesday, August 1, 2023

Extending the browser based capabilities of Manage 2000

Manage 2000 8.1 contains 317 browser based functions compared to about 2200 PWS based functions.

A few of the browser based functions are abstract in that they can emulate a class of PWS based functions:

  • ReportBuildRpt, for instance, accepts a module and report name and then emulates that specific REPORT.BUILD report.  
  • BatchProcess accepts a PWS function name and then emulates MT420, presenting the screen as a web page and submitting the request to DJS or MASTER.AGENT.

Over half of PWS functions are MT420 functions such as, MRP.CALC.PN or SHOP.LOAD.SUM.WK or SALES.BY.ITEM. These types of batch functions can easily be published as web functions by creating the appropriate FN.BUILD record.

Given a PWS function name, BatchProcess will use the PWS SCREEN.BUILD definition referenced in the paragraph to generate a web page to gather user input. After prompting the user for input BatchProcess will submit the completed MT420 request to DJS or MASTER.AGENT.

By creating a record in FN.BUILD you are creating a web type pseudo-function, pre-configuring BatchProcess to run a specific MT420 function.  You just need to create a web type function pointing to /MT/BatchProcess/BatchProcess.aspx passing in a parameter named FunctionName with a value like SHOP.LOAD.SUM.WK, and directing it to always run in a batch queue like a Master Agent AdHoc queue.







BatchProcess will not support any possible MT420 request. In particular there is no provision for handling screen output like EOT Viewer inquiries. However, by sending the output to the spooler with an LPTR request, it will be available to the browser user in the MyPrintJobs web page.



Once the FN.BUILD record is created your web function can be added to any menu through MENU.BUILD.  You can add it to PWS menus, or just as easily to the web portal menu system.

Tuesday, June 1, 2021

Javascript Injection in Manage 2000 Web Functions Q&A



What is it?

WEB.CONSTANTS and FN.BUILD have prompts for Custom Javascript.

The scripts stored in WEB.CONSTANTS and FN.BUILD are downloaded to any Manage 2000 web site accessing that Manage 2000 account, during IIS application initialization. 

The scripts in WEB.CONSTANTS are injected into every web page. 



FN.BUILD script entries are only injected into web pages of that particular function.


In order to ensure that all other resources are loaded, scripts should be enclosed in a jQuery document ready call:

<script>
$j(document).ready(function(){...}
</script>


What is its upgrade path expense profile?

Since the scripts are stored in Manage 2000 files on the Unidata server, any custom scripts automatically migrate to new service packs and survive web server replacements.  It is possible some adjustment to script logic may be required due to changes in the mark-up or code-behind of web functions, but for the most part the scripts float along with other configuration items stored in any Manage 2000 User type account like ACME.MAIN.

In what release did it become available?

Custom Javascript Injection was first introduced in Manage 2000 release 8.1 sp1.

How can it be used?

Manage 2000 web functions include access to jQuery.js and Prototype.js.  In desktop view jQueryUI is also available, and in mobile view jQueryMobile is available.  There are also many Manage 2000 javascript functions available from the roiGlobal.js library.  Therefor brief scripts can accomplish significant adjustments to the Manage 2000 web functions.

For instance, 8.1sp4 introduced many collapsible panels which improve navigation on mobile devices. However, they quickly become annoying on desktop devices with large screens. A standard solution is coming in 8.1sp5 which will add the overlooked state memory to the panels so they remain in the state last set by the user. For those on 8.1sp4 a simple solution to this annoyance can be made through Custom Javascript Injection:

<script>
$j(document).ready(function(){
$j('.accordion-expand-all a').trigger( "click" );});
</script>

Add this to WEB.CONSTANTS and restart the IIS application accessing the account and EVERY page with collapsible panels will begin with all of the panels expanded.

This becomes a very powerful way to make adjustments to Manage 2000 web functions without introducing custom components on the web server. 



Monday, March 19, 2018

Another Cool Administrator Feature

This one courtesy of the Rocket development staff.

With Manage 2000 release 8.1 service pack 2 the webserver connector moves up to Rocket Web DE 5.3.0 Javascheduler.  This makes the service pack roll-up from service pack 1 a little bit more involved but not only results in a faster connection but a really cool administrator portal.

Going back through the administrator guide I got to wondering about this apiserver thing that I keep running into.  Is it a development API?  Is it a user interface?

Turns out it is both:

Admin API server - The new Admin API web server hosts a Web API and a web-based user interface, which you can use to control configuration and monitoring functions of the Java Scheduler. Enhanced monitoring and logging API improves tracing and supportability, accessible via a an HTTP-based API and UI. Prior to v5.3.0, these administrative functions were performed through an Eclipse-based interface and anchored into the U2 Web Designer. Now, you can easily update configuration, monitoring, and security preferences in Web DE via an open API and new web-based user interface.



Rocket Web DE 5.3.0 includes a fully functional mobile ready REST based user interface to the Javascheduler  console for administrators.  This is much more convenient than the snap-in to the Web DE eclipse environment.  Definitely worth investing in setting up and securing.


Page 15 for Windows, page 20 for UNIX.

Monday, September 17, 2012

Setting Up Mobile Access to Manage 2000 7.3 sp3

Manage 2000 7.3 sp3 mobile features are designed to run in webkit browsers such as Mobile Chrome or Mobile Safari.  These are the built-in browsers for IPhones and many Android phones. The next major version of Manage 2000, currently under development, supports many other mobile device browsers.

To configure mobile users on Manage 2000 7.3 sp3:

Use CNT.SYSTEM.REFS to assign mobile preferences for a web user role
For example on the SYSUSER role assign MobileUser as the menu for system users
  1. Start CNT.SYSTEM.REFS
  2. Call up record SYSUSER
  3. Add a Preference Code of 25 Mobile Menu
  4. Set the value to MobileUser
  5. Add a Preference Code of 22 Mobile Stylesheet
  6. Set the value to mobile.css
  7. Add a Preference Code of 26 Mobile Items Per Page
  8. Set the value to 5
You may assign preference codes 22, and 26 in WEB.CONSTANTS Default Web Preference settings instead of on each role in CNT.SYSTEM.REFS since they are likely to be constant for all roles.

Use CNT.SYSTEM.REFS record CM to assign preferences for customers accessing Manage 2000 via an externally facing portal. The MobileCustomer menu can be used as the mobile menu.
Use CNT.SYSTEM.REFS record SLSREP to assign preferences for sales representatitves accessing Manage 2000 via an externally facing portal. The MobileSalesRep menu can be used as the mobile menu.
Use CNT.SYSTEM.REFS record DEVELOPER to assign preferences for developers or administrators. The MobileAdmin menu can be used as the mobile menu.
Mobile devices are automatically detected. If the user has a mobile menu assigned and is accessing the site from a recognized mobile device then the user will be directed to a mobile login and from there to the M2000Mobile navigation app. The FullSite web function may be used to re-enter the site in non-mobile mode. Logging off the website and logging back in will place the mobile user back in mobile mode.
The a fore mentioned menus have been supplied as examples and starting points for configuring mobile access to Manage 2000 7.3 sp3.  The mobile navigation options may be modified in MENU.BUILD by changing the menu items. REPORT.BUILD web function definitions may be used (See WEB.REPORT.BUILD for information on setting up FN.BUILD entries to run REPORT.BUILD reports from the web). Web functions built using the roiHyperQueryControl will also be optimized for mobile automatically, this includes about 65 standard Manage 2000 web functions.

While the desktop portal system is not yet available from this mobile navigation you can recover some of the portal feature by setting the Use Last Key As Default preference to Y. This will default in the last key used as users select different web functions from the mobile menu emulating the key integration you get from portals.
There are about 220 Web functions that have not yet been optimized for mobile use in Manage 2000 7.3 sp3.  They may be used, but will likely prove inconvenient for the user.  The next major release of Manage 2000, currently under development, has all web functions and portals optimized for mobile.

Tuesday, August 28, 2012

Extending web portals by publishing REPORT.BUILD functions as web functions


Use FN.BUILD to create a web function that runs a specific REPORT.BUILD report from the web

Start FN.BUILD.

Create a new item with a name that matches the REPORT.BUILD report function name without space or periods and with only the first letter of each word captialized; so an entry to run RCVNG.RPTS.BY.DATE would be called RcvngRptsByDate.

Set the Type to W to specify a web function.

The module should match the module where the REPORT.BUILD report function exists.

Enter a suitable description. Shorter descriptions are nicer on mobile devices.

End out of the first screen.

Enter an extended description.


The additional parameters prompt will bring up a new screen with web function specific prompts.

For Web URL enter the Url to the REPORT.BUILD report interpreter /mt/ReportBuildRpt/ReportBuildRpt.aspx

Add a Web Query Parameter to specifiy the library (module) that the report resides in.
Use ReportLibary for the parameter. Use your module for the value.

Add A Web Query Parameter to specify the REPORT Id that should be used to generate the web page. Use ReportID for the paramter. Use the actual REPORT.BUILD report id (The PWS report name) for the value.

End out of FN.BUILD.

Test your web version of the report by typing in the upper and lower case version of the report name at a Menu or from ECL.

This web function may now be added to a web or PWS menu in MENU.BUILD


Note: In Release 8.1 this has been automated into the REPORT.BUILD function. Setting the Create Web Also flag to Y will create the corresponding FN.BUILD record for you.

Friday, July 13, 2012

Enabling Attachments in Web Portal Functions


Manage 2000 web portal  functions may be used to view and/or upload attachments. Web portal attachments are viewable from PWS and vice versa.

To enable viewing and downloading link type attachments from Manage 2000 web portals, add web preference 17 Enable Attachments and set the value to 'Y'. This may be done globally in WEB.CONSTANTS, or by ROLE in CNT.SYSTEM.REFS, or individually in CONTACTS. It may be necessary to logoff the web site and log back on to refresh your web preference settings. After entering a key in a portal, any objects attached to the portal base file and current key (that the user has security to access) will be added to a local menu named attachments.

To enable uploading attachments from Manage 2000 web portals add web preference 16 Attachment Storage UNC and set its value to a fully qualified UNC location or a UNC location relative to web site virtual directory root. After entering a key in a portal the user may click on the paperclip icon in the upper right corner of the portal which will navigate to the upload attachment page. Any objects uploaded will be attached to the current portal base file and current key.

Attachment Storage specifications starting with "\\" will be treated as UNC format. Specification starting with a letter followed by ":\" will be treated as a local disk drive location. Other formats will be treated as directories relative to the web site application root directory, "Documents\Attachments", for instance, specifies a directory in the websites "Documents" directory named "Attachments".

The suggested storage format is a UNC to a network resource that is available to the AppPool Identity on all Manage 2000 site hosting web servers, that is backed up regularly, and that is available to PWS users. Attachments from PWS users should be moved to the UNC Attachments Storage location and linked from that location in PWS using \O.I and specifying the file location using \\server\... rather than just attaching something from a location localized to the users PC.

Tuesday, May 22, 2012

How to setup AR KPI dashboard displays

Manage 2000 has included an AR Monitoring System since release 6.5.  Monitoring must be turned on in SOP.CONSTANTS and AR.CONSTANTS.



This results in real time updates in the MCD_DATA file tracking SO and AR activity.  The original interface in 6.5 for this information was found on the SYS.MONITOR menu.  But with release 7.3 these KPI counters can  be much more elegantly presented as a news feed into MS Outlook 2007 or 2010.


MSO's 1290 -1300 provide a variety of standard dashboard widgets. You can, of course, copy one of these and change time fences, graph types, and so forth for a particular result.




To get them to OUTLOOK simply wrap them in a NEWS.ARTICLE and attach to a NEWS.FEED. By specifying a news source of MSO and the MSO.ID to use as the source for the article almost all of the required setup will default in.



To find the feed run a Manage 2000 web function and then use IE9 Feed Discovery from the Tools menu. Then just copy and paste the required URL into the Outlook Add RSS Feed wizard.


Here is an ARCHIVER package of example AR news articles and a feed:
DASH.PMN AR Dashboard RSS example

  1. Click to download it to your PC
  2. From PWS use FILE.PASS to upload it into the PROJECT_LIBRARY
  3. From PWS use the ARCHIVER function bring up record DASH.PMN and use the Extraction screen 4 to put the example feed into the NEWS_FEED and NEWS_ARTICLE files.

Tuesday, February 7, 2012

Web Performance Exception Reporting

One of the diabolical aspects of n-tier pooled connection processing used in web functions is the degree of difficulty there is trouble-shooting performance issues. The reality of many users sharing the same Unidata session as they make calls across responders make it difficult to untangle who's process is burning up bandwidth and forcing others to queue behind them.
In 7.3 sp3 we added a tune-able performance exception trace based on the RPC History tracing infrastructure used for development debugging.
You can set a performance benchmark in WEB.CONSTANTS defining how long an RPC call must last before being considered a performance exception and also how long to retain the RPC trace information for review.
Later, after activity across the responders, run WEB.PERFORMANCE.EXCPT to see RPC calls that exceeded the defined performance target. The report attempts to display 'important' parameters about what the responder was requested to do.

Since the performance exception logging is built on the RPC History trace tools you can use DEBUG.NET to dig deeper into the 'problem' calls and even re-run them from PWS for debugging and profiling purposes.

Wednesday, January 25, 2012

Web Function Usage Tracking

Previous releases have attempted to provide usage tracking beyond the standard IIS logging, but have not been all that useful. Manage 2000 release 7.3 provides better tracking by recording web function start events in the WEB_USAGE_LOG file within the UniData database where Manage 2000 reporting tools are available. To enable tracking simply go to WEB.CONSTANTS screen 5 and turn it on.
Enter 'Y' to post WEB_USAGE_LOG records as web functions are run on this account. Enter 'N' to disable posting of log records. A null entry is treated the same as 'N'. Control the purging of WEB_USAGE_LOG records through PURGE.CONTROLS. The purge type is WUL and the standard configuration is to purge back to the last 3 weeks once a month. View log records through WEB.USAGE.

The standard functionality provides lots of identifiers, but if you want meaningful company and person names you will need to set up some I-Descriptors in the WEB_USAGE_LOG file and copy the WEB.USAGE REPORT.BUILD report from the MT library to your local library and add the fields you want.

Thursday, January 19, 2012

Top Ten Things To Know on Manage 2000 7.3

1. What preferences settings exist and how to set them globally, by role
2. How to turn on and use web function usage tracking
3. How to use web performance exception reporting
4. How to present different views to different roles
5. How to setup mobile access to Manage 2000
6. How to setup an externally facing portal
7. How to setup AR KPI dashboard displays
8. How to enable attachments in web portals
9. How to extend web portals by creating REPORT.BUILD functions as web functions
10. How to develop web functions with Visual Studio

I'll try to post on these topics over the coming weeks.

Web Preferences


Web preferences allow you to configure behavioral characteristics of Manage 2000 web sites. They can be set globally in WEB.CONSTANTS on screen 3. They can be set per role in the CNT.SYSTEM.REFS function. They can be set per user in screen 8 of CONTACTS.



Web Preferences are cached on a per user basis. To get preference changes to take effect you need to logoff your web session and start a new one. You can logoff the web session from the Welcome Portal or the My Account menu or by running WebLogoff from PWS.

The most sought after preference change has been turning off the autocomplete behavior in web functions which seems to annoy users more than help them. So in WEB.CONSTANTS on screen 3 add Preference Code 12 Minimum Length for Autofill and set the value to 999.

Preference 1 External Home Page controls what happens when a user logs off the website. You can use it to redirect them to your company web site. You can also set it to a value of ../../default.aspx which redirects them to the web login page. This feels nice and somehow harmonic to end the session where it began.

Preference 9 M2k Home Page controls what happens when a user logs into the web site. Using this preference in CNT.SYSTEM.REFS and by selecting the appropriate web function name you can start your customers in the shopping cart when they login, while directing sales reps to select the customer they wish to represent as they login, and direct service reps in the service portal as they come in.

As a developer constantly testing web functions I particularly like 13 Use LK as Default set to Y. Which does pretty much what you would expect. If users often want to view in a web function what they were just accessing in PWS then they might like this too.

Explore other preferences using ?? in one of the web preferences prompts. To avoid disturbing other users you can test just on yourself by setting preferences in CONTACTS screen 8.

Some preferences are fairly obvious like 4 Items Per Page. Others are a bit more mysterious like 8 Page Smoothing which can be used on users with older version of IE to cut down on the screen flickering during postbacks.

A number of them like the ...PDF.. settings can be tested from the REPORT.BUILD report viewer, or HyperQuery functions like CustOpenSalesOrders which provide export links for PDF viewing.

I'll cover the mobile and attachments preference settings in later postings on those topics.

Wednesday, October 26, 2011

Out Of the Box Experience (OOBE Newbie New)

Well the development cutoff of Manage 2000 7.3 sp3 is done. I have upgraded our build system and development web server to sp4 where 7.3 future development will happen, and created the views for patching sp3. Now I wait and wait and wait while Release Control readies installs for the field and customer sites slowly rollout new service pack upgrades or come on board from older major releases.
One of the areas I have been trying to enrich is the How To documentation on various web setup processes. I hope this combined with more appropriate Sales Rep and Customer menus and default role preferences will make setting up external access to Manage 2000 less daunting, and thereby give more Manage 2000 sites ROI justification for upgrading to the newest Manage 2000 release.
Imagine Sales Reps, Service Personnel, Buyers for customers at trade shows pulling out their IPhone, Droid, or IPad and interacting directly with your Manage 2000 site.