Advanced Search
Search Results
697 total results found
Basic setup
All the following canges are carried out in the Tempus Serva designer Company logo Upload you logo file via Ressources > Media files Show the logo after upload Copy the URL of image Add to stylesheet via Ressources > Stylesheet .logo { backg...
Automated renewals
Before starting test that the renewal process works /opt/letsencrypt/letsencrypt-auto renew --dry-run Make sure the path is accessible from cron sudo chmod go+x /etc/letsencrypt/archive sudo chmod go+x /etc/letsencrypt/live Make a script file sudo na...
External Certificate
Acquire certificate Buy a certificate from a provider. Note that the max lifetime is currently 1 year, så buying a 5 year certificate only help on pricing. https://www.ssls.com/ After issuing the files you will have A private key - ex: movia.tempusserva...
Clone System
What it does Clones the entire webapp to another server. Only works on linux. First setup Generate an SSH key for the tomcat-user on the source server sudo -u tomcat ssh-keygen Add the public key to a user on the target server that has sudo-access Conn...
Cloning an instance
Connecting to the server First you must access the commandline on the system in question. This is done using a certificate and the Putty program. Get a certificate private key from an existing admin user Install Putty on your machine (alternative WinSCP) ...
Clone records
Usage This function will copy a single record Configuration guide Add a button with parameterized URL using: main?command=com.tsnocode.codeunit.common.CloneRecord&SagID=[SagID]&DataID=[DataID] Developer info Type: CodeunitPagecontent Security: [eg. re...
Steps for creating a new codeunit
Create a new Java project in your favorite IDE Import the p2eShared.jar in the project Create a new class: The abstract parts are found in: dk.p2e.blanket.codeunit Implement all abstract methods Code the method bodies (normally "execute") Compile...
Error handling
Exceptions are handled by themselves using the errorRegistration(Exception e) method. In case the errors are not caught by the codeunit itself, the generic error handler takes over Logs the error in the eventlog Returns a standard error page to the user ...
Configuration / parameters
Parameters are delivered through the method call, packed in a nice <String> Hashtable for easy access. Please note that values are sent as-is, so make sure to escape values before DB operations using DbConnection.escapeSql(String s); Configurations can be s...
Variables
Variables can have a scope of either Request User session Application For permanent variables user server configurations. Request variables Request scope variables should be stored in the Hashtable sharedObjects in the Command object. Note that the ...
Different codeunit types
Most likely you will need to create a Formevents that will allow specific changes for a solution, during views, updates or exports. Most interactions wil require interaction with the following objects Security Command Session Context DbConnection Even...
Using the provided Dev-image
We provide a ready-to-go image of a virtual machine, running Debian 12, for VirtualBox. The machine is set up with all the required software and helper scripts, to enable development of custom codeunits. The image is setup with MariaDB, Tomcat 8, Netbeans 11...
Creating the codeunit
Make sure that p2eShared.jar is included in the project Create a new class that extends com.tsnocode.codeunit.CodeunitFormevents
LIST level event hooks
public String appendListPageHead() { return ""; } public String appendListPageFoot() { return ""; } public void beforeSelectList() throws Exception {} public void beforeRenderList() throws Exception {} LIST execution order beforeSelectList Gather form ...
ITEM level event hooks
public String appendItemPageHead() { return ""; } public String appendItemPageFoot() { return ""; } public void beforeSelectItem() throws Exception {} public void beforeChangeItem() throws Exception {} public void beforeUpdateItem() throws Exception {} pu...
FILTER event hooks
Filters will help you build customized permission schemes. They are called for both LIST and ITEM commands. @Override protected boolean dataFilterActive() { return true; } @Override protected void dataFilterHandler(StringBuilder sql) { sql.appen...
Event firing details
Event firing global The following events are ALLWAYS fired beforeSelectList beforeSelectItem beforeChangeItem beforeUpdateItem afterUpdateItem Event firing in UI (reserved for normal users) The following events will NOT be fired during imports etc....
Description
PageContent is activated by supplying the name of the class in a command Example for the codeunit MySpecialPage http://..../.../main?com.acme.samples.MySpecialPage Note that is is only possible invoke classes that inherits the CodeunitPagecontent class Sup...
Description
PageContentPublic are special variants of Pagecontent, that are publically accessible (they do not require a login). Note that is is only possible invoke classes that inherits the CodeunitPagecontentPublic class.
Description
Status actions codeunits will execute just about anything for a single object in a determined state. The codeunit is bound to a Status action, and can be executed either on entry, on exit or after a given amount of time. As with other actions the execution i...