0 Followers · 247 Posts

Zen is a school of Mahayana Buddhism that originated in China during the Tang dynasty as Zen Buddhism. Zen school was strongly influenced by Taoism and developed as a distinct school of Chinese Buddhism.

In InterSystems Data Platform Zen is a name for MVC web application framework for rapid software development.

Documentation.

Article Peter Cooper · Mar 13, 2018 3m read

Index to Articles

Hi All

I am an avid user of ZEN for over 10 years now and it works for me.
But it seems that Intersystems are no longer actively developing it (or ZEN Mojo), the only published reference to this  is here

As an aside, Intersystems makes fine products (I have been using the technology for 35 years) and has great support BUT they are not good at being open with their product road map/retirement plans.  This is very embarrassing  to me when talking with my end user clients.

10
1 2027
Article Jean Millette · Nov 2, 2019 15m read

The Issue

I help support a legacy ZEN application that makes extensive use of the “dataGrid” component. The application reuses a ZEN page with a“dataGrid” for different views of similar data; depending on the view, the application hides or displays some of the columns of the “dataGrid”. The application does this client-side, setting the “hidden” property of the “columnDescriptor” true or false as needed.

0
0 440
Article John Murray · Oct 25, 2019 1m read

When dealing with a support issue of one of our Deltanji source control sites this week I learned that if you're using InterSystems versions earlier than 2018.1 on Unix-type platforms it's possible that a class you export in UDL format will subsequently fail to import. So I'm posting this information here in case it helps other folk.

0
0 303
Article Peter Cooper · May 10, 2018 3m read

Index to Articles

Published 2018-05-11 Last edit -

Hi All

I this article I detail some strategic issues that a new development UI will need to address - these are the ones that I can think of now - others may come to light during this journey.

See the webinar by Eduard Lebedyuk here from the last Global Summit describing  modern web development and Caché

And, as always, if I have missed something please comment....

13
2 1601
Question Oliver Wilms · Sep 18, 2019

Hello, I created a Zen Report and I want to export to Excel. I read I can use $MODE=xlsx but my output in Excel is not correct. All 3 elements are condensed into one cell. Class AETMON.Report Extends %ZEN.Report.reportPage { /// Class name of application this report belongs to. Parameter APPLICATION; /// Specifies the default display mode used for this report if /// the URL parameter, $MODE, is not present. Parameter DEFAULTMODE As STRING [ Constraint = ",html,tohtml,toxslfo,pdf,xml,xslfo,excel,toexcel,ps,pdfprint,xlsx,tiff,displayxlsx,fo2pdf,foandpdf", Flags = ENUM ] = "html"; /// This is the

1
0 432
Question lamont thomas · May 30, 2019

I need to open a Windows explorer window by pressing button on a Zen page.

Is this possible.?  I

performed a search but I did not find anything.

The command I used in the terminal was  D $zf(-2,"START C:\WINDOWS\SYSTEM32").

I am not sure how to use this in a Zen application.

Any help will be greatly  appreciated.

8
0 533
Announcement Neerav Verma · Jun 1, 2019

This Utility creates an xlsx file with the file name provided.
There are mutliple ways to write data to it, I am retrieving it via Sql queries in this example.

Include %occFileClass Utils.XLSX
{
ClassMethod DateTime() As %String [ CodeMode = expression ]
{
$TR($ZDateTime($H,3),"- :")
}

5
1 630
Question Thembelani Mlalazi · Jun 10, 2019

In my production I receive an  XLFO stream and I would like to pass that to the FOP pdf rendering engine to produce pdf files .So far in my research that can be achieved through ZEN .I would like to create an operation that will take advantage of that and be able to pass my XLFO stream  to the operation and create pdf files I found something similar  here but for some reasons I get errors like below if any one understands what they mean please advice or someone  who had to do something similar advice on how to achieve this thanks in advance

2
0 667
Article Attila Toth · Feb 8, 2017 2m read

This article is little explanation to a GitGub project.

The HotJVM Render Server is a great way of boosting ZEN Reports performance, when it comes to generating PDF documents. It can spare a second or more even on a single execution of a report, but it becomes unavoidable when you have to generate hundreds or thousands (or maybe hundreds of thousands) of reports.

7
0 1564
Question Muhammad Awan · Apr 5, 2019

Greetings,

Is there any default exception handling feature available in Zen report? I am working on a report that comprises of several different composites report (%ZEN.Report.Display.composite). I am incorporating several composites into the main Zen report, If any composite fails or encounters an issue such as issue with the sql statement or class method which i am using to fetch the data, the report (pdf) fails and shows a Zen error. It is very hard to find an exact composite or code that causes the error as Zen report displaying a generic Zen Error without any details.

3
0 667
Question Neerav Verma · May 10, 2019

In our table, we have a column cities,  which has a filter which displays the cities of a state depending on the state

For simplicity let's assume we have a page

Property State As %String =  "CA"

Our filter should run this query to show all cities of state ca

"SELECT Name FROM City WHERE State= "_%page.State

<tablePane>

<column colName="City"
filterQuery="SELECT Name FROM City WHERE State= <This is where I am stuck>"
filterType="query"
header="City" 
width="10%">
</column>

I am not able to pass any parameter to filterQuery. 

9
0 528
Question Jimmy Christian · May 14, 2019

Hello,

Need some technique to solve an issue about zen page table.

- "xyz" table exists in all my namespaces.

I have a simple Zen page  in "USER 1" namespace. It has a tablepane which pulls data from "xyz" table.

OnLoad of the page i want the  zenpage to pull the data from "USER 2" namespace with same "xyz" table name.

Zenpage has to be in  "USER 1" namespace

I tried to use the server side callback handler %OnAfterCreatePage()  and do a ZNSPACE "USER 2" but still it is not doing the job of pulling data from another namespace.

Any suggestions will be appreciated.

Thanks,

Jimmy Christian.

10
3 373
Question Jimmy Christian · Apr 19, 2019

Hello,

1)

I am trying to have a ZEN datacombo to display list of Namespaces column using a Class Query.

<dataCombo id="NamespaceId" queryClass="%SYS.NamespacequeryName="List" showQuery="true" />
This Classquery works fine in <tablepane> and also from terminal.

But the datacombo is not displaying the "Namespace" column but only the last two columns. I have tried property displaycolumn="1". But this is not working.

Thanks in advance.

Regards,

Jimmy Christian.

1
0 215
Question Lucas Macori · Mar 5, 2019

Hello,

I'm using ZEN report to generate a PDF file out a table.

Although, I need to display data from two tables splitted into two different namespaces.

So, I created a process that fetches all the data I need and then calls the PDF class and generates the stream out of it.

My question is, once I've got my list of objects. How can I transform it into a ResultSet, in order to display in the report ?

Thanks for your answer.

6
0 414
Question Jimmy Christian · Nov 20, 2018

Hello ,

I want the datagrid to reflect values based on the value i select in the Combobox.  How to pass value from the combobox to the

altJSONSQLProvider  parameter and reload the datagrid ?

My combobox defines below method on change.

onchange="zenPage.rowSelected(zenThis.getValue());"

<altJSONSQLProvider id="PatchClassJsonId" OnGetSQL="GetSQL" >
<parameter paramName="1" value="C"/>
</altJSONSQLProvider>

<dataGrid 

,......

</dataGrid>

1
0 253
Job Simcha Gershon · Oct 20, 2018

Hi every body

I hope it's the right place & I'm not offending any body.

I'm a veteran Mumps/Cache/Ensemble programmer .  I think my only draw back is my age, although my brain is still young & bubbly.

I'm looking a long time for work without success.

I gathered a lot of knowledge & experience during those long years , developed many projects & i'm ready to do any work only to feel useful.

I'll add my resume, I hope & wish that this post will bring some change as I'm desperate to get some work.

Thank you very much Simcha my email is shiluvg@gmail.com

Covering letter

Good day

0
0 473
Question Guillaume Lepretre · Oct 18, 2018

Hello everyone,

I want to fill data into my select component with sql request and parameter.

I tried to follow this example https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE… 

I need to call a method because my parameter can be different. I tried something like this but it doesn't work... 

ClientMethod changeParams() [ Language = javascript ]{var query zenPage.getComponentById('categorieBeneficiaire');query.setProperty('parameter', 1, 'OS');query.setProperty('parameter', 2, 'NSAL');
}

or like this : 

2
1 329
Question Peter Kopp · Oct 17, 2018

I have a ZEN page with nine tablepanes. Each tablepane queries a table in the same SQLServer db. I have a single SQLGateWay(odbc) to this SQLServer db. I need to get better performance when I query all nine table at the same time. Would my performance improve if I had nine SQLGateWays(nine odbc configurations/connections), one for each query? I would appreciate any and all suggestions for getting the very best performance when using SQLGateWays. Thank you.

1
0 354
Article Gevorg Arutiunian · Oct 8, 2018 2m read

This code snippet provides a ZEN page that downloads a stream from its database directly:


/// We assume that you have stored your data within this schema:
/// MyApp.Model.Storage: Filename,FileSize,Content,ContentType
Class zen.downloadStream Extends (%ZEN.Component.page,%CSP.StreamServer)
{
/// Wrapper to get the id of the download, we assume that the id is passed to this zen page
/// as a URI parameter, i.e.: MyApp.Downloads.cls?OID=1234
ClassMethod GetId()
{
    Quit $Get(%request.Data("OID",1))
}
 
/// Set the appropriate header for the file.
ClassMethod OnPreHTTP() As %Boolean
{
    Set tId = ..GetId()
 
    If ##Class(MyApp.Model.Storage).%ExistsId(tId) {
        Set tStream = ##Class(MyApp.Model.Storage).%OpenId(tId)
        // You could "guess" the content type by its file extension
        // or you can store it (before) in the database separately (like in this example).
        // Set Extension = $Piece(tStream.Filename,".",$Length(tStream.Filename,"."))
        // Set ContentType = ..FileClassify(Extension)
 
        Set %response.ContentType = tStream.ContentType
        Do %response.SetHeader("content-disposition","attachment; filename="_tStream.Filename)
        Do %response.SetHeader("Content-Length",tStream.FileSize)
    }
    Else {
        Set %response.Status="404 File Not Found"
        Quit 0
    }
    Quit $$$OK
}
 
ClassMethod OnPage() As %Status
{
    Set Download = ##Class(MyApp.Model.Storage).%OpenId(..GetId())
    Do Download.Content.OutputToDevice()
    Quit $$$OK
}

}

Link to code on GitHub

1
2 645
Question Rui Figueiredo · Sep 22, 2018

Hi,

We maintain a few Zen reports that output in Excel format.

Recently we started to observe that some reports fail and return the following error.

CSP error occurred
Error: Error rendering: OS code =1Use $log=1 to check
ErrorNo: 5001

I have extracted the exception details from the log file

1
0 561