Creating a project — Jam.py documentation (original) (raw)
Create a new directory.
Go into the directory and run from command line:
The following files and folders will be created in the directory:
/ css/ js/ img/ reports/ static/ admin.sqlite server.py index.html wsgi.py
To start the Jam.py web server, run the server.py
script.
Note
You can specify a port as parameter, for example
By default, the port is 8080. If you specify another port, you need to use it in your browser in the next steps.
Open a Web browser and go to “/builder.html” on your local domain – e.g.:
127.0.0.1:8080/builder.html
You should see the language selection dialog. This defines the language used for the user interface. You can select the language from the list of default languages, or import your own, using the “folder” icon to the right of the input field. See theLanguage support page for more information. Select your language and press the OK button.
Next is the new project dialog. Fill in:
- Caption - the project name that will appear to users.
- Name - the name of project (task) that will be used in the code (Python or JS) to get access to the task object. This should be a short and valid python identifier. This name is also used as a prefix when creating a table in the project database.
- DB type - select a database type. If the database is not Sqlite, it must be created in advance and its attributes should be entered in the corresponding form fields. To see examples of Database setup, follow the link.
When you press OK, the connection to the database will be checked, and in case of failure an error message will be displayed.
Examples of database setups¶
Adapted from Jam.py Design Tips
Jam.py supports many different database servers. For example PostgreSQL, MariaDB, MySQL, MSSQL, Oracle, Firebird, IBM, SQLite and SQLite with SQLCipher.
If you are developing a small project or something you don’t plan to deploy in a production environment, SQLite is generally the best option as it doesn’t require running a separate server. However, SQLite has many differences from other databases, so if you are working on something substantial, it’s recommended to develop with the same database that you plan on using in production.
In addition to a database backend, we need to make sure the Python database bindings are installed.
- If using PostgreSQL, the
psycopg2
orpsycopg2-binary
package is needed. - If using MySQL or MariaDB, the
MySQLdb
for Python 2.x is needed. For Python 3.x, themysql-connector-python
andmysqlclient
package is needed, as well as database client development files. - If using MSSQL, the
pymssql
is needed. - If using Oracle, the cx_Oracle is needed, as well as Python headers (development files).
- If using SQLCipher,
sqlcipher3-binary
package is needed for Linux. There is a standalone DLL for Windows available. - If using IBM,
ibm_db
andibm_db_dbi
package is needed. - If using Firebird,
fdb
package is needed. - To generate reports, LibreOffice must be installed.
Note
For a SQLite database, when an item field is deleted or renamed, or foreign key is created, theApplication buildercreates a new table and copies records from the old one into it.
For SQLite database, Jam.py doesn’t support importing of metadata into an existing project (project with tables in the database). You can only import metadata into a new project.
If all goes well, a new project will be created and the project tree will appear in the Application builder.
Now, to see the project itself, create a new page in the browser and type in the address bar: