Fast Inserts in TACTIC

There are times when you need to add a lot of data into TACTIC through some custom code.  This could be an ingest from the start of a project or some large delivery from an external source.  Although you could  go directly to the database and execute straight SQL commands Read more…

PHP and TACTIC Rest API

TACTIC 4.6 just introduced a new generic REST API which implements most of the TACTIC API. This opens up the TACTIC API to almost all programming languages. There are still some advantages to using the client side libraries for Python and Javascript as there is some custom convenience and logic Read more…

TACTIC Javascript API Start-up

Using the TACTIC 4.6 API from javascript is very simple. You just have to reference a single javascript file. You can either reference a local copy of this file: <script src=”js/tactic.js”> </script> Or you can reference it from TACTIC server itself: <script src=”http://<server>/context/spt_js/tactic.js”> </script> Replace with your own server IP Read more…

Executing server side scripts from browser

TACTIC provides a number of mechanism to Python code on the server. We can start with a widget in the Custom Layout Editor with the HTML definition: <div>  <input type=”button press_me” name=”Press Me”/> </div> In the behaviors: var script_path = “my_scripts/press_me”; var kwargs = {}; var server = TacticServerStub.get(); server.execute_python_script(path, Read more…

Introduction to TACTIC Plugins

TACTIC Plugins are a way of packaging up functionality and distributing them to other projects or other servers. The Plugin architecture is very flexible and almost any functionality, large or small can be packaged in as a plugin. A TACTIC Plugin can contain: data configuration python class Images and media Read more…

Dynamic updates when data changes.

Dynamic updates allow any part of the page to update itself based on change occurring on the server. To illustrate, begin with a simple element that display the number of assets in the system. <div>${asset_count}</div> In Python, the asset count would be retrieved as follows. asset_count = server.eval(“@COUNT(example/asset)”) When the Read more…

What is a TACTIC Widget?

Widgets are self-contained user interface elements. In TACTIC, they combine HTML layout and CSS styling with server-side Python processing, client side Javascript behaviors, all encapsulated in a single entity called a widget. Widgets are a fundamental building block to interfaces in TACTIC. Even the base HTML tags have been mapped Read more…