Monday, April 22, 2019

Embedding Power BI Reports in Manage 2000 News Feeds


Power BI provides shareable visualizations mashed up from multiple data sources.  The data might come from Excel or SQL or ODBC.  For instance Manage 2000 data might be synced through Novo Motion Outbound to SQL server. From there Power BI might refresh reports and dashboards.

Users can consume the report through the Power BI interface.  But it is also very easy to embed Power BI reports in Manage 2000 news articles for display in the Manage 2000 function NewsReader or other RSS feed readers.

From the Power BI Service browser interface:
Select a report
Select File
Select Embed



Copy the iframe content
Paste it into a STATIC article Summary (HTML) prompt

(Recent updates to Power BI have made this a little more round about;
 After copying the iframe snippet into the Summary (HTML) prompt -
   copy the link to the app.powerbi.com website from the Secure embed code dialog to the clipboard
   use the Edit button on the right to bring the Summary (HTML) text up in the editor
   select the string inside the quotes on the right side of the "src" attribute
   paste in the app.powerbi.com url string
   save the contents back to the Summary (HTML) prompt - 8/19/2019)

(Even more recent updates corrected this hiccup.)

Copy the link to the app.powerbi.com website
Paste it into the Drill Back Document prompt
(Clicking on the news article link will send the user to the drill back URL, in this case the report in the Power BI Service. If related detail such as the original Manage 2000 data is available from another URL use that instead.)

Attach the article to a news feed and view from the Newsreader function:


Selecting a row in the airport table refocuses the map to display that specific information. The interactive features of the report remain active when viewed in a Manage 2000 newsfeed.






Monday, January 21, 2019

Manage 2000 8.1 service pack 3 - sneak peek

Development cutoff is fast approaching for service pack 3 of Manage 2000 8.1. We will be cleaning up the service pack material throughout February in preparation for an early March release.

Once again a number of projects are being released along with bug fixes in this development rich service pack.  Here are my top ten favorite new features:

  1. Collapsible Panel Navigation in over 40 web functions provides better use of screen territory and improved mobile experience.
  2. MSO support in web functions provides improved web function tailoring capabilities. MSO displays and web functions may be configured to be available without customizing using the same MSO techniques used in PWS workflow configuration.
  3. Local ‘Portal’ menus are now scoped to browser tab. This allows multiple browser tabs to display different portals or the same portal with different keys without the local menus interfering with each other.
  4. ProductConfigurator supports alternate front-end screens from CTO.ENTRY. This allows ProductConfigurator to use a simplified version of the screens used in CTO.ENTRY.  Sales Reps may then do preliminary configurations in ProductConfigurator and then back end configuration specialists can reconfigure the generated item in CTO.ENTRY.
  5. Summary Notes Option added to attachment notes menu on web pages.  This feature matches the PWS notes summary display available in PWS.
  6. Global Menu: Home and Logoff buttons are easily accessible no matter how menus are configured.
  7. WEB.SETTINGS.INQ - Displays the web preference hierarchy settings for one or more contacts, so if your web settings hierarchy has grown into a ball of spaghetti you can get it sorted out.
  8. Customer Administrator role allows delegation of add, change, or deactivation of other contacts. CMADM role users may use UserPreference | ContactMaint to maintain other users from their company.
  9. Visual Studio 2017 compatibility updates to website vbproj files.
  10. Visual Studio Wizard Updates.
    1. Collapsible Panel generation in BTO Inquiry and BTO Posting wizards.
    2. BTO Posting wizard support for templated columns with roiTextBox controls bound to metadata for improved data entry features.

So keep an eye open for an upcoming official announcement and after you load up this new service pack find out more about these and other new features in the FEATURE.SUMMARY document.

Wednesday, November 28, 2018

NetBasic Where No One Has Gone Before, MV.Net on SQL Server?

There have been numerous expeditions over the years connecting and leveraging the Microsoft .Net world with the Multi Value world: BlueFinity, NovoMotion, various ETL products.  But none so bold as the ProsolGrp NetBasic expedition.

Grant Hart and Allan Williams brought NetBasic to the recent NovoRoiSystems User Group Meeting to share what they have been working on.

NetBasic is on another plane from other .Net <-> Multi-Value technologies. It is the .Net SQL Server whale swallowing up the Multi-Value Jonah. And Multi-Value Jonah is living quite comfortably inside the SQLServer beast.

By creating a managed code Multi-Value runtime with serialization kept non-normalized in a single SQL table cell, NetBasic keeps all the benefits of Multi-Value while taking on all the benefits of the SQL Server environment and .NET.


From within the runtime the user is in a Multi Value environment. From outside the runtime the user is in a SQL .Net environment.  Yes, it is a TARDIS.









To be useful from other SQL client technologies normalizing views make the underlying dynamic arrays appear as normalized tables.  This allows the runtime online transaction processing to avoid normalization overhead while keeping the consumers of the data happily fed with flat tables.


NetBasic code gets converted to C# and then to a managed assembly. Multi Value indexing is implemented as SQL indexing. Dynamic array records are stored whole on top of the SQL Table structure as a single cell.

The underlying structure of the dynamic array records can evolve and SQL Server does not care one whit, providing continuous support for changing and growing business applications. The Multi Value OLTP code runs merrily along avoiding all the joining and normalizing overhead.  Only the normalizing views for SQL OLAP clients need regenerating after structural changes in the MV database.

IT can manage, backup, and replicate your Multi-Value database as just another SQL DB instance.
Application development can use the full range of MV and .NET development languages.
Users can continue to productively employ the MV application business rules that guide them in tracking your business. And management can employ SSRS and other SQL based management tools essential to decision making in today's world.


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.

Friday, January 26, 2018

Manage 2000 Web Technology - The Big Picture

The Manage 2000 ERP application includes a website for accessing information from web browsers. What is the significance of this? How does it provide value to the people and businesses that run Manage 2000?

  • Communication
    • Inside your organization and outside your organization
    • Desktop, Tablet, and Smart Phone
    • Reusable, brand-able, easy to use, graphic rich, web technology
    • Seamless access to web portals for internal PWS users
    • Customer Portal for communicating with customers and sales reps
    • Vendor Portal for communicating with vendors
    • Attachment, PDF, and Note sharing.
    • RSS Feeds for integrating with Microsoft Outlook , SharePoint and Lotus Notes and other RSS capable applications
    • Web Services for integrating with Microsoft Office Products via VSTO (Visual Studio Tools For Office)
      • Build Manage 2000 aware Excel Spreadsheets
        • search , validate ids, import data, export data
      • Build Word Documents with action panes integrating Manage 2000 functionality
        • Think credit letters with address block and aging built live from Manage 2000
    • JSON REST Services and CORS support for integrating Manage 2000 intelligence into other web based applications.

What is Manage 2000 Web Technology all about?

Communication. The ability to get ERP information in front of people’s eyes in the applications that they use regularly, on the devices they have available, in an affordable manner.

Thursday, November 30, 2017

Manage 2000 Release 8.1 Service Pack 2 - sneak peek

Development of Service Pack 2 for Manage 2000 8.1 has been cutoff.  I have gone through the demo data tidying up while Doug is working through the release control process. We should be in a position to release it well within our announced Jan 2018 time frame.

Here are my top ten favorite new features in this development rich service pack:

  1. UniData 8.2 Python Integration
  2. We have UniData 8.2 loaded up on our development machine and are using it daily. Unfortunately our development box is an HPUX machine and the new Python integration is not yet available for HPUX.  But for those running on Windows servers this opens up a whole new world of possibilities.

  3. Web DE 5.3 JavaScheduler pass through CallRPC
  4. Rocket put in a special version of the CallRPC method based on the Manage 2000 teams input which by-passes the ADO Recordset parsing and provides a very lean connection between the .Net world and the UniData world. Various measures show through-put improvement from 2X to over 10X.  This doesn't make the processing of the business logic any faster, but just moving data back and forth this much faster creates a very noticeable performance improvement for the end user.

  5. UrlAuthorizationModule
  6. "With great power comes great responsibility" PDF publishing and attachments anywhere features of Manage 2000 8.1 provide the power to put your customers in control of viewing their documents. The UrlAuthorizationModule provides the security enabling you to do this responsibly.

  7. W(+/-)n Work Date (Shop Calendar) Entry Shortcut
  8. Simple. Global. Useful. What is not to like?

  9. ECA support for attachments and calendar events
  10. Welcome enhancements to ECA email notifications. I particularly like the idea of ECAs sending calendar appointments to recipients, who can then simply click on the icon to import reminders into their calendars and have them act as cues for future activity.

  11. Associated Sales Items support in ShoppingCart
  12. The existence of Associated Sales Items in the database and the lack of their use in the shopping cart was just begging for development

  13. AUTHORIZE.DATA.ACCESS
  14. Anytime hardcoded rules are abstracted to configuration tables it is a good thing for the flexibility, elasticity, and endurance of the product. Plus it puts the Manage 2000 customer organization in the drivers seat defining how the software should behave.

  15. REFRESH.SPOOL.DATA Master Agent Service
  16. This makes the web interface to the spooler jobs dependable and truly useful. Dependending on traffic to SPE to trigger refreshes is just too shakey especially in smaller installations.

  17. SECURITY.MASS.UPDATE
  18. There are a number of administrator treats in this service pack. Handling security changes faster and easier is certainly a welcome one.

  19. PMT.STACK.MASS.UPDATE
  20. Like SECURITY.MASS.UPDATE this just seems like something that ought to be there in this day and age.

Aside from lots of treats for administrators there are over half a dozen new features in Product Data Management alone. So watch for the upcoming official announcement and after you load up this new service pack look through the FEATURE.SUMMARY document.

Friday, September 8, 2017

Using Excel as a Client Front End to Manage 2000

This is a bit of a follow-up to a previous post I wrote  about VSTO and Manage 2000  ERPBusinessObjectService. Visual Studio Tools for Office (VSTO) provides a development framework for coding behaviors into classes of Excel spreadsheets.  You can deploy them with one-click installs and users can save them as templates for creating smart spreadsheets.

Connecting VSTO code with Manage 2000 can be very easy with the ERPBusinessObjectService. A little bit of code in C# or VB.Net can read and post datasets of Manage 2000 business objects. However you may run into a lot of plumbing work moving values from business object dataset tables to the spreadsheet cells and back.  Excel ListObjects can greatly simplify this coding chore. ListObjects define mappings and databind values between columns in the worksheet and row data of columns in the business object data tables:



With this little bit of code you can synchronize the spreadsheet column cell values with a corresponding table in the business object dataset, and use the webservice to read the dataset from or post the dataset back to Manage 2000, turning Excel into a client UI for Manage 2000.