The setup needs access to the downloadable files that can be downloaded only with a connection. In any case, the server doesn’t need the full setup. The setup is only needed to install the project templates, toolbox items, and designer assemblies in the GAC. The installer cannot update the deployment assemblies since they should be in the /bin directory and the installer doesn’t register them with the GAC.
The server only needs the deployment which includes at least two Wisej assemblies. See https://docs.wisej.com/deployment/. It also needs the wisej-server.lic file that can only be generated with an internet connection using your development machine. Once it’s generated it’s part of the application and can be deployed along with the app to a server without access to the internet. To generate the server lic file, simply run the app once on the connected development machine.
HTH
Best,
Luca
You can use the settings property. See the last item here: https://docs.wisej.com/docs/concepts/configuration
Application.Configuration.Settings is a dynamic object so if you add:
"settings:" {value1: 1, somestring: "hello"}
You can access them:
int value1 = Application.Configuration.Settings.value1; string value2 = Application.Configuration.Settings.somestring;
Or
int value1 = Application.Configuration.Settings["value1"]; string value2 = Application.Configuration.Settings["somestring"];
Hi Alex,
That was a problem with the active color in Classic-2.
All system labels in Wisej are always localized in all languages. Wisej selects the localization for each client in this order:
– the language forced in the url by adding ?lang=el (i.e. for Greek)
– the language forced in the applications json file https://docs.wisej.com/docs/concepts/configuration (see the culture setting)
– last, the preferred language reported by the client’s browser.

We are going to publish soon an integrated extension control using the full calendar library: http://fullcalendar.io/. It works with Wisej’s data store (similar to the data grid) requesting only the visible pages and supporting a large number of records. The control itself supports dragging, extending, full day, custom rendering, colors, etc. It’s extremely flexible and perfectly integrated with Wisej’s object model.

Best,
Luca
A simple example could be the ChartJS example:https://wisej.com/examples/
It shows the FlowLayout panel with the new FillWeight property. Child controls or panels automatically resize, wrap and also fill the row according to the FillWeight.
You should also look at the Application.ResponsiveProfileChanged and the Form.ResponsiveProfileChanged. You get the event when a responsive break is detected. The breaks are defined in the ClientzProfile.json file. There is a built-in version that you can override in your app simply by placing a file named ClientProfile.json at the root of the project. I have attached the built-in one.
In short, with Wisej responsive support you can
The Application.ActiveProfile property and the event args e.CurrentProfile and e.PreviousProfile return an instance of Wisej.Core.ClientProfile. see https://docs.wisej.com/api/wisej.core/general/wisej.core.clientprofile with a lot information about the responsive break and the device.
You can also use Application.Browser property to get this object: https://docs.wisej.com/api/wisej.web/general/application#browser
HTH
We didn’t have the time yet to build a more complex example and document all this. It will be done, I promise.
Best,
Luca
Please update Concepts – Configuration accordingly.
It’s already available using
Application.Theme see the definition of the ClientTheme class.
You can read just about any value from the theme and resolve the indirections (colors, fonts and images):
// Read the height of the caption bar.
var titleHeight = Application.Theme.GetProperty<int>("window/captionbar", "height");
// Translate a color.
var color = Application.Theme.GetColor("windowText");
// Read and translate the button's hovered back color.
var color = Application.Theme.GetColor("button", "textColor", "pressed");
Notice that the appearance path requires a forward slash.
The last optional argument is the state name. The default is “default”. The states are mixed, so if you read “hovered” if you get the values inherited from “default” and overridden or added by “hovered”.
I noticed a problem though with the public GetColor(), GetFont() and GetImage(), they only read from properties and not from styles. If you need to read a style value for now use GetStyle() and the resolve it using GetColor(), Font, Image. And also the public GetImage() always returns null. That’s WJ-7568.
If it worked, GetImage() returns an actual System.Drawing.Image from the url or the base64 png or gif – but NOT from the svg images. The svg renderer is plugged in only at design time.
Best,,
Luca
Hi Ewan,
The themes in the Documents folder are copied for the Theme Builder. To deploy a theme you have to copy it in the \Themes directory in your app.
You can change the default theme in the json config file for a specific app, or set the theme as the default in in web.config, or change it at runtime using Application.LoadTheme(name). The name is always just the name – no path and no extension.
You can find the configuration description here:
https://docs.wisej.com/docs/concepts/configuration
And a detailed description of the theme system here:
https://docs.wisej.com/theme-builder/
Best,
Luca
Hi Ed,
We have samples here https://wisej.com/examples but not one for a logon form and not enough – we’ll add many more after the release.
About the login form best practice. VWG worked very differently since the URL was the name of the form to create, therefore you couldn’t control the entry point of your app and needed VWG itself to take care of securing the application and the login.
Wisej instead uses the main html page (or aspx or anything else) as the canvas on which to render its components. (As a side note, this means that you can put all sorts of html in Default.html (or Defaults.aspx) and even interact with Wisej objects.) Wisej has a single entry point that cannot be bypassed in any way, it’s the Main method defined in Default.json. When a session is created the first time, Program.Main() is the first method that is called (if defined in Default.json).
If you don’t create your main windows in Main() then nothing will show in a Wisej app. This lets you handle authentication however it’s best for you app. The easiest approach is to show the login form in Main() and then decide whether to proceed with other windows or not. You can do this at first, or after showing a main window, or later on in the app, or several times depending on permissions, etc.
See the config explanation here : https://docs.wisej.com/docs/concepts/configuration
There is one exception in case you define the mainWindow in Default.json instead of the startup property. In this case you can make the main window your logon form and then create the rest from there.
HTH
Best,
Luca
Hi Mariano,
thanks for your interest in Wisej.
Yes, it´s possible and already used for some of our and beta users applications (on Microsoft Azure).
For more details about deployment, please also take a look at the deployment chapter in our documentation:
https://wisej.com/docs/html/Deployment.htm
Hope that helps.
Best regards
Frank
Wisej Community does not incorporate Wisej Premium Extension, nor would it have a server for internal use with more than 10 connections. In other words, it would have fewer options with a price increase of 400% more than with the previous licensing system.
I am deeply disappointed.
I would like you to study an option to be able to return my licenses and recover my money, since I do not consider this change in licensing fair.
Iff you are a small company (less than $1M in revenue) Wisej Developer will be free. You will only need 1 Enterprise Server License to serve up to 5,000 user on up to 5 servers (1,000 per server) for up to 5 different applications.
Hi Kevin,
By “localhost” I mean deployed to IIS on development machine, not debugging in Visual Studio.
Server is Windows Server 2019, same problem on 2 x servers and on local machine (Win 10).
Cheers,
Roger
Hi Roger,
Wisej.Web.Ext.OfficeViewer work only with pubic website not on localhost.
What type of server do you use?
Best,
Kevin (ITG)
I have a small software company, I have always worked with FoxPro, after looking at many options I find Wisej and although it is not royalty free it has affordable prices.
I acquire Wisej Developer in April 2021 to learn and for internal use, as I have about 400 users of my software, I plan to acquire a Wisej Server soon, which has no limitations in terms of users, and guided by the license information on its website, I do a simulation of annual acquisition and maintenance costs:
Acquisition:
Wisej Developer 690$
Wisej Server 390$
TOTAL $1080
Annual renewals:
Wisej Developer 50% 345$
Wisej Server 50% 195$
TOTAL $540
With the new license the costs are as follows:
Acquisition and annual renewals
Wisej Developer 990$
Wisej Server 490$x4 = 1960$
TOTAL $2950
Annual costs higher by 546%, is that correct?
Hi Andrew,
is there any particular reason why you are not using a MenuButton?
It should include this functionality “out of the box”.
Best regards
Frank
AutoSize with HTML is not supported. You have to set the correct size or resize on the client or try TextUtils.MeasureTextAsync.
Hi Andrew,
The hotKey is F7,
or with C#
Application.ShowConsole = true;
And for logging Wisej use http://qooxdoo.org/qxl.apiviewer/latest/#qx.log.Logger
test case:
Application.Eval("Wisej.Core.log('info','cooool-124');"); // you can use "info", "warn", "error", "debug" OR
Application.Eval("Wisej.Core.logWarning('cooool-warning');");
Application.Eval("Wisej.Core.logInfo('cooool-info');");
Application.Eval("Wisej.Core.logError('cooool-error');");
Application.Eval("Wisej.Core.logDebug('cooool-logDebug');");
Happy coding,
Kevin (ITG)
TinyEditor works fine.
TinyMCE never redirected the keyboard events.
Hi, So it’s back again.. for whatever reason keypress events are no longer raised on tinyMCE.
Im using 2.5.23 and I have attached a sample project.
Thanks
Vincent
Hi Page,
this was logged as #2834 and is fixed in Wisej release 2.5.23
Best regards
Frank
