Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

459 total results found

Cloning an instance

TS hosting instructions

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) ...

Needs Work

Clone records

Common Codeunits Pages

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...

Needs Work

Steps for creating a new codeunit

Codeunit reference Developing codeunits

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...

Needs Work

Error handling

Codeunit reference Developing codeunits

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 ...

Needs Work

Configuration / parameters

Codeunit reference Developing codeunits

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...

Needs Work

Variables

Codeunit reference Developing codeunits

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 ...

Needs Work

Different codeunit types

Codeunit reference

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 DbConnection EventHandler

Needs Work

Using the provided Dev-image

Codeunit reference Developing codeunits

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...

Needs Work

Creating the codeunit

Codeunit reference Formevents

Make sure that p2eShared.jar is included in the project Create a new class that extends com.tsnocode.codeunit.CodeunitFormevents

Needs Work

LIST level event hooks

Codeunit reference Formevents

public String appendListPageHead() { return ""; } public String appendListPageFoot() { return ""; } public void beforeSelectList() throws Exception {} public void beforeRenderList() throws Exception {} LIST execution order beforeSelectList Gather form ...

Needs Work

ITEM level event hooks

Codeunit reference Formevents

public String appendItemPageHead() { return ""; } public String appendItemPageFoot() { return ""; } public void beforeSelectItem() throws Exception {} public void beforeChangeItem() throws Exception {} public void beforeUpdateItem() throws Exception {} pu...

Needs Work

FILTER event hooks

Codeunit reference Formevents

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...

Needs Work

Event firing details

Codeunit reference Formevents

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....

Needs Work

Description

Codeunit reference Pagecontent

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...

Needs Work

Description

Codeunit reference PagecontentPublic

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.

Needs Work

Description

Codeunit reference Statusaction

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...

Needs Work

Description

Codeunit reference Translator

Translators are used for handling special values during integration: A translator is handed a value, that it can transform and return. Supported methods String execute( String config, String value, Connection conn );

Needs Work

Naming standards

Coding standards

URL related naming Allways use lowercase for application naming Code naming standards Package / naming placement Package name all lowercase General platform entities Servlets: com.tsnocode.server.servlet Filters: com.tsnocode.server.filter Core...

Needs Work

Compliance standards

Coding standards

The platform must be able to run on Current versions of Java Current versions of Tomcat MySQL and MariaDB Do not use current_timestamp (property)

Needs Work

Safety standards

Coding standards

Input sanitization used in SQL, using either Escape all string parameters using DbConnection.EscapeSQL Prepared statements All Page codeunits should contain some user group restrictions, and set to be default off

Needs Work