Search the help documentation

Search:

Can't find what you are looking for? Use the Feedback tab in your app to submit an issue, or email support@ qrimp.com.


idnamedescriptionParentTopic
deleteedit167Help TopicsThe Qrimp Help Files will teach you what you need to know to build and maintain your Qrimp app.

If there is a topic missing, or something is unclear, please contact us to let us know.
Getting More Help
deleteedit1341Hidden Page VariableQrimp has a special hidden HTML form field called "page" that allows you to configure where the user goes to after clicking a link, creating or saving records.

To modify the location the user goes to, Design > Design Mode ON. Go to the form from which you want to control where the user goes to after clicking the button.

Click the gear near the buttons. You'll find in that HTML a hidden INPUT form field called "page". You can change this variable to a URL that you'd like the user to go to after submitting the form. This URL can contain variables that are updated with values from the saved form you can also use [square brackets] to include SERVER variables like the HTTP_REFERER to send the user back to the page they were on when they clicked the edit or add new link.

<h2>Add a Create and Add Another button</h2>
Sometimes, you may want the ability to quickly create a lot of items at once. On the add new item screen (vid=8 in the url), you'll want to edit the header footer, add the button, and then when that button is clicked, change the value of the hidden page variable so that it sends the user back to the page you are on, rather than going to the detail view of the newly created item.

Here's how to do that. First, be sure design mode is on according to the instructions above. Then, go to the Add New form where you want to create many items quickly.

Click the gear next to the save buttons at the bottom. A lightbox will appear with the HTML for the Create and Cancel buttons. We'll add another button. To do that, copy the Text that starts with the Less than sign and INPUT type=submit. Select all of that text through to the Greater than sign. That's one HTML tag for the create button. Copy and paste it.

Change the value of the pasted INPUT button to "Create and Add Another". You'll need to have all of that text including the quotes so your browser knows to include all of it on the button. Now, we need to add another attribute to the input tag that changes the hidden PAGE variable. Add onclick='$("#page").val(document.location.href);' somewhere inside the newly copy/pasted INPUT field.

Next, add an attribute to the HIDDEN page variable that we can use to tell JavaScript which input value to update. Just add id="page" inside the HTML tag for the hidden input variable named page.

Your new HTML inside the lightbox should look like what is in the TEXTAREA below. In most cases, you can probably just copy/paste this HTML into your lightbox area to get the results we've described here.
<textarea><INPUT type=submit value=Create name=op class=button> <INPUT type=submit value="Create and Add Another" name=op class=button onclick='$("#page").val(document.location.href);' > <INPUT type=hidden value=5 name=o><input type=hidden id=page name=page value="db.aspx?t=HelpTopics&vid=11&id={id}"> <a class=button href="javascript:history.back()" title=Cancel>Cancel</a></textarea>


Click save. Now you can click the "Create and Add Another" button to quickly add a lot of items to the same table.






Form Designer
deleteedit1266Hide All Access to a tableBesides deleting a table, the best way to make sure that nobody sees it again is to use [Table Security] to make it so that all user groups have no [CRUD] permissions on the table.

Follow the instructions in [Table Security] but turn off all permissions, like this:

<img class="border" src="attachments/developer.qrimp.com-70a940d9-ffa3-47ba-8812-f7c5b034b9ae/maketableinactive.PNG" />

Table Security
deleteedit264Hide Inactive Fields from Drop-DownsScenario: Bob is creating a new timesheet, and he's selecting a client from a drop-down. If some of your clients are no longer active, you do not want him to see them in this drop-down.

In this case, the first thing you will have to do is make sure your system has a way of knowing the client is no longer active. If you do not already have a field that tells you whether a client is active, you must [Add an Active/Inactive Field].

Then you will have to set the clients table to only show active clients when users are entering clients records from a drop-down field in another table.

<h2>Get the Table ID of the Clients Table</h2>
<a href="db.aspx?t=HelpTopics&id=1293&vid=11">Find the id of your Table</a> and write it down, copy it to your clipboard, or remember it. You will need to get the right table id number for this to work!

<img class="border" src="attachments/developer.qrimp.com-bdbc81bf-d9fd-42ec-a709-8404428a4f06/clientstableid.png" />
<span class="small">You can find the TableID from Table Management</span>

<h2>Write a SQL query</h2>
To hide an inactive record, you will need to use [SQL] security. Go to your Clients Table. Go to Table Management or Manage Tables. Click the link that says "Configure Table Settings" or "Settings".

Scroll down the Table Settings page to the field called "sqlsecurity". In that textbox, write the following statement, including all punctuation*:

<noeval>('1006'=1048 or Active = 'Y')</noeval>

<strong>Important: Change the id to match the id of your table!</strong>

<img class="border" src="attachments/developer.qrimp.com-ad7e285d-a7ed-4ec2-b5ed-33012a6d5aac/activeequalsy.PNG" />

Now, when Bob is creating a timesheet, he only sees active clients!

<img class="border" src="attachments/developer.qrimp.com-fd9d129a-a606-4b41-bfd4-0f58350af712/filteredclientlist.png" />

<h2>Important: Complete Data Entry is Key!</h2>
If you don't mark each client record as either active or inactive (and the field is empty) the record will be treated the same as if it were inactive. Be sure to mark all clients that you want in the list active!

* You could also write Active <> 'N'. The <> in a sql statement means 'not equal to'.
Creating a Look-up Table
deleteedit1289Hiding columns with CSSYou can hide columns for a view of a record or table using CSS.

Go to Develop > Header/Footer. In the header field, add the following style to hide the id, createid, and createdate fields. CSS is not supposed to be case sensitive, but just in case of browser bugs, make sure your div names are identical to the div in the HTML.

<input type=text size=100 value="<style>#iddiv,#createdatediv,#createiddiv{display:none}</style>">

Notice that each field name is followed by the word div. So to hide another field named StartDate, you'd use this:

<input type=text size=100 value="<style>#StartDatediv{display:none}</style>">

To do the same for Grid/Table views use this style definition in the header:
<input type=text size=100 value="<style>.id,.createdate,.createid{display:none}</style>">
Headers and Footers
deleteedit1294Hiding fieldsYou can hide fields from ever appearing in the [grid view].

In this example, we are going to hide the 'email' field from the Clients table.

Go to your table.

Go to Design > Form Designer

Click the link on the right that says "Edit Column Labels"

<img class="border" src="attachments/developer.qrimp.com-a99ef66a-5c09-4205-b09c-6f8bdaf42fb1/editcolumnlabelsbutton.png" />

Wait for the Grid Edit view to load.
<img class="border" src="/attachments/developer.qrimp.com-b6e4be8d-660e-416f-ac43-b3839862dc3f/gridedit.png" />

Click HideinColumn for field you want to hide.
<img class="border" src="attachments/developer.qrimp.com-5595a57b-0aef-4c3d-be49-f630fff69e9a/clickthehideintablefield.png" />

Change the field to say "Y" or "yes" to hide it.

<img class="border" src="attachments/developer.qrimp.com-4d99e679-3a53-4f7a-ace2-651fb3203c01/makeitso.png" />
Grid View
deleteedit1298Hourly ServicesQrimp can provide technical services such as those performed by a programmer, DBA, or data entry and formatting.

Our current hourly rate is $150/hr and our minimum billing increment is 15 minutes.
Billing
deleteedit1296How Qrimp Handles DatesQrimp only has a date/time field. It does not have a time field. If you need to enter a time, you must do so in the date/time field, like so: 4/17/2003 10:30 AM. (See [datatypes]). If you want to have an event occur the same time every day, without setting the day, you can use the recurring feature of the calendar.

All dates and times are stored in the database in Universal Time Code (UTC). If you enter a time with your date, it's converted to UTC before the value is persisted (stored in the database).

<img class="border" src="attachments/developer.qrimp.com-369f30c4-7b58-4a8b-bb96-ce5ac1a09557/starttimeendtime.png" />
<span class="small">Entering dates and times together into Qrimp's date/time field.</span>

If you enter a time with the date, Qrimp stores the time AND the date in that field.

If you enter only a date, Qrimp will store the time as midnight. If you don't enter a time, time zone conversion is not performed on the date/time value in queries. If you just enter 4/17/2003 without a time, it will store it as 4/17/2003 00:00:00.

Dates without 00:00:00 are not converted using [Time Zone Awareness].

If you do enter a time when you do your data entry, the date/time is converted into the user's time zone before being compared to any query parameters.

This is only true of the search engine, query string parameters and the custom view builder. If you write a custom query using the query builder, you may need to accommodate the time zone yourself (depending on the query).

We have a square brackets value called <noeval>-5</noeval>.
Time Zone Awareness
deleteedit1318How to reset a user's passwordPreface: If the user has attempted to log in several times and failed, their account my be locked out and they will need to wait until the lockout expires. Please tell them to wait and try again in 10 minutes.

If you still need to reset the password, simply enter the user's email address on the login help screen and tell Qrimp to email them a link to reset their password. Please see <a href="help#238">Help Topic #238: Forgot Password</a> for more info.

You can also send them a new temporary password by reapproving their account.
<ol><li>Go to Admin > Manage Users
<li>Click the table view icon
<li>Click the username in the Username field of the table view, the left most name in default Qrimp setups.
<li>You will now be looking at the approve user account.
<li>Verify the correct user group
<li>Click approve, the user will receive a new email with a username and temporary password.
</ol>
TIP: You may want to write down or copy/paste the temporary password for the
new user in case they do not receive the email notification.

NOTE: Sometimes due to email configuration settings, new users will not
receive their username/password email notification. If you reset a password
or create a new account and the user does not receive the email, here's
what to do when <a href="help#1343">Users aren't receiving their temporary password email</a>
Logging in
deleteedit203HTML<h2>What is HTML?</h2>
HTML stands for Hyper Text Markup Language, it is how web pages are made. Knowledge of HTML will help you modify the way your Qrimp application is displayed, but is not required to use a Qrimp app.

<h2>Working with HTML</h2>
You can see the HTML for any web page by using the Developer Tools in your web browser. You can also right-click and select View Source or View Page Source.

You can use HTML in a Qrimp app when editing records, in the Header/Footer for records, in Views, and in Field Templates. You will need to make sure that your user group has permission to edit HTML (See [User Groups].

Here are some resources to help you learn HTML.
<a href="http://www.w3schools.com/html/">W3C Schools HTML Tutorial</a>
<a href="http://www.w3.org/MarkUp/Guide/">Dave Raggett's Getting Started with HTML</a>
<a href="http://www.echoecho.com/html.htm">EchoEcho.com's HTML Tutorial</a>
<a href="http://www.davesite.com/webstation/html/">Interactive Tutorial for Beginners</a>
Definitions
deleteedit1299I created a new field but my users can't see itSee [Column Level Security].Adding Columns
deleteedit150IconsIcons are used throughout Qrimp applications as visual cues. You can use icons anywhere in your application for any reason.

<img class="border" width="500px" src="/attachments/developer.qrimp.com-2779e58c-5d00-47c6-aaf0-1aac672f08f1/pageoficons.png" />
<span class="small">Qrimp has a large selection of icons to choose from</span>

<h2>Using Icons in your HTML</h2>

To view all of the icons, go to Design > Icons/Icons List

Click the icon you wish to use.

Copy the filepath from the iconurl field and paste it into the "source" (<a href="db.aspx?t=helptopics&id=261&vid=11">url</a>) of your img tag (src=).

Pull the image from the icons folder using a relative url, like this:
<textarea>
<img src="/icons/crystal_project/32x32/actions/edit_add.png">

This will pull in the icon, like so: <img src="/icons/crystal_project/32x32/actions/edit_add.png"> or so <img src="/icons/crystal_project/16x16/actions/edit_add.png"></textarea>

See also: <a href="db.aspx?t=helptopics&id=70&vid=11">Icontheme</a>
[Action Icons]
Definitions
deleteedit70IconthemeEvery Qrimp app comes with a set of icons built in. To view all of the icons included with your Qrimp app go to Design > Icons List.

<strong>Changing your default IconTheme</strong>
Each user can choose which icon size they wish to use in their [Content Header] when they are logged in. You can choose 16x16 icons or 32x32 icons.

To change a user's icon settings, go to [Admin] > [System Tables]. Find the t_settings table. You will see a list with all of your users in the userid column and their chosen icon style in the icontheme column. Click on edit icon in the row that contains the record you would like to change.

<img src="/attachments/506118aa-6f10-4062-ba05-bedbda15faf7/Picture 5.png">

When you are in [Edit View], go to the icontheme field and change the display size from 16x16 to 32x32 or vice versa.

<img src="/attachments/1ca1d94c-230b-4089-81fb-e41f742e6c41/Picture 4.png">

<strong>Using Your Custom Icons</strong>
Qrimp plans to allow you to add your own icon set if you wish. At the present time, this is only possible if you choose the same naming convention for your iconset as is used for the crystal project icons (names must include folders in url).

If Qrimp has 1000 icons in one set and 100 in another, and you set an icon to point to one of the 900 we don't have and change the icon theme, then they'll be broken images.

<strong>Using the Default IconTheme in your urls</strong>
When you are writing a url and want to link to an image automagically, you can use [square brackets] around the word icontheme to create a link to it in a url. Qrimp will automatically display whichever icon theme you have chosen. For example, [ /icons/crystal_project/32x32 ] will insert /icons/crystal_project/32x32. You must be sure to write the folder location for the urls correctly. Follow this example: /icons/crystal_project/32x32/actions/1day.png
Changing the Look and Feel of Your App
deleteedit62Import DataIf you have your data in excel spreadsheets, .csv files or tab delimited format, you can use the Data Import feature. This is a fast way of getting a large amount of data into your Qrimp database. Import data is also the best way to create [drop-downs].

To import data, simply copy/paste a spreadsheet or .csv file into a text box and Qrimp will create your table(s) for you. You can also type data into the text box.

To use the data import feature, go to Develop > Import Data. If you do not see an import data link, go to Develop > Create Tables, then click the Import Wizard link near the top of the page.

<img class="border" src="attachments/developer.qrimp.com-6d61a212-a8f6-491a-b559-066b0a28ed2f/importwizardlink.png" />

To make sure your table is created properly, use "clean" data and prepare it in a spreadsheet or text editor as follows:

Put the name of the column in the top row and all of the data to be in that column in the column below it.

The following data is in the correct format for import:

FirstName Position Salary
John Cashier $30,000
Christina Cashier $32,000

Note that if you are using a text editor, there should be tabs between each item (where the spaces are above).

When you are ready to import your data, copy and paste it into the text box, or upload a file. Check the box beside "First row contains field names", unless you are using the importer to [import data into an existing table].

<img class="border" src="attachments/developer.qrimp.com-e3da82e0-2ebe-4013-b682-973bf6346ddc/manufacturerslookup.png" />
<span class="small">Some simple data, ready to import.</span>

----
Choose Advanced Options.

If this is a lookup table, do not enable any advanced options.
----
Wait for the data to be imported.

<img class="border" src="/attachments/developer.qrimp.com-3a8cc099-9b5d-4a16-aa41-da62eab5a8bd/waitfortheimporttocomplete.png" />
----

You will see your newly imported data.
<img class="border" src="attachments/developer.qrimp.com-c42ec091-0af6-4a6a-9de5-c01eceeab695/newmanufactererslookup.png" />
---
Now you must:
Give permission to your users to see this table with [Table Security]. If you are adding this field to an existing table (if it's a lookup table), you will need to configure [Column Level Security].

<h3>Data Import Tips</h3>
<ol><li>Field names must start with a letter and can only contain letters, numbers and _. Spaces will be converted to _. </li><li>Data must be in tab-delimited format </li><li>If you want the data to be searchable, it needs a description field</li><li>Don't edit the data after you paste it, it will look funny because the lines wrap in the box, but it's okay, we'll take care of it. If you edit the data, your data table may not be created correctly.</li>
</ol>

If you have a name for your sheet, Qrimp will automatically name the data tables it creates with that name.

<strong>Multiple Sheet Import</strong>
You can import a spreadsheet file with multiple sheets. The data from each sheet will be created as a separate table, and relationships will be implied and constructed from and between your tables automatically.
Building Your System
deleteedit212Importing Large Datasets<!--<nobreak>-->
The following tips and tricks will help you import large datasets. If you are working with a small dataset, you can use the menu item Develop > Import data. See [Import Data].

<h3>Copy Paste from Excel to Form</h3>
Keep the number of rows under 10,000 and the width less than 8,000 characters. We've noticed IE pastes large data sets better than Firefox. Sometimes the browser will crash if you try to paste a very large data set into a text field. So if this happens, try using one of the methods below. You can also paste this data into a .txt file and upload it using the Tab delimited file method described below.

<h3>Tab Delimited File Upload</h3>
One flat file import can be many megabytes, but upload time will depend on your connection speed. Since this is just one flat file, only a single table will be built. All the data should be consistent, meaning all date fields should be valid dates, numbers should all be numbers, no letters in the number fields. These rules apply to all import methods.

<h3>Excel 97/2000 .xls Import</h3>
File size < 20 MB, < 100,000 records per sheet, fewer than 20 sheets. Match sheet names to table names in Qrimp. Use this if you want to build the relational model to support multiple data sets automatically. Each sheet will be a table.

<h3>Importing Large Datasets</h3>
If you are converting an existing application or have extremely large sets of data you need to import, then the web is not a viable option. Because network latency, script timeouts, and other factors designed for a high scale environment like a web application are not designed to accommodate very long running batch processes, we need to import large sets without using the web.

<h3>Qrimp Hosted</h3>
If you are using Qrimp's Hosted solution, you can import data using the Rest-like API. This could take a while with millions of records to import, so in a scenario like this, it may always be best to contact support first. You can also download the [Qrimp Server Installation] and use the method described below.

<h3>Qrimp Enterprise Solution</h3>
If you are using the Enterprise solution installed on your local network, there are many options available for importing data. You will probably want to get help from someone experienced with Microsoft SQL Server to perform one of these import options.

The first step to importing a large data set with Qrimp installed is to define the application. This is usually easiest using Qrimp's web interface to define tables manually. This process will create the underlying primary keys, foreign keys, and support tables needed to run your Qrimp application.

A more difficult, but more flexible way is to define the data model directly using SQL Management Studio, export from UML, Earl, or some other relational modeling tool. For this to work, each table must have an INT IDENTITY field named id.

The next step is to get the data into your data model.

<h3>Data Transformation Services (DTS)</h3>

Qrimp is built on top of the Microsoft SQL Server product, so getting data into Qrimp is similar to migrating data between any existing databases. The best way we have found is to use Microsoft's DTS to import the data. Here are a few resources on the Web to help you understand how to use DTS to import your data.
<a href="http://technet.microsoft.com/en-us/library/ms365330(SQL.90).aspx">
Creating a DTS Package with SQL Server 2005</a>

<a href="http://technet.microsoft.com/en-us/library/ms365330.aspx">Creating a DTS Package with SQL Server 2008</a>

<a title="Permanent Link: Data import / export with SQL Server Express using DTS Wizard" rel="bookmark" href="http://mobiledeveloper.wordpress.com/2007/01/31/data-import-export-with-sql-server-express-using-dts-wizard/">Data import / export with SQL Server Express using DTS Wizard</a>

You can download DTS for SQL Server 2005 Express here:
<a href="http://download.microsoft.com/download/4/4/D/44DBDE61-B385-4FC2-A67D-48053B8F9FAD/SQLServer2005_DTS.msi">http://download.microsoft.com/download/4/4/D/44DBDE61-B385-4FC2-A67D-48053B8F9FAD/SQLServer2005_DTS.msi</a>

<a href="http://www.microsoft.com/downloads/details.aspx?familyid=d09c1d60-a13c-4479-9b91-9e8b9d835cdc&displaylang=en">Download More Microsoft SQL Server 2005 Express Tools Here</a>
<!--</nobreak>-->
Import Data
deleteedit185Input Security RestrictionsTo add additional security around data Qrimp allows you to add white and black lists.

A Whitelist will only allow the characters specified in the list.

A Blacklist will strip out the characters specified in the list.

To add either functionality to a system the first step is Develop > System Tables.

<img src="/attachments/f4f304ca-0b5b-4e8c-89b1-85ee86b74279/Security5.jpg">

Then click on the t_groups WITHOUT the magnifying glass.

<img src="/attachments/abb21f03-1668-48e8-a0a7-82df4892155f/Security6.png">

To add the additional field to the table click on the Table Management Icon in the [Content Header]

<img src="/attachments/0ea6eb9a-40f6-4f4a-89d3-34398246ec58/S.png">

Scroll down to "Add a Column" and input either inputwhitelist or inputblacklist all one word

<img src="/attachments/d628e2dc-67b7-4906-a578-b097597ea4ba/Security8.png">

Once the column is added there are two steps. First you must log out and log in to make the change take effect. Then go back to the table and click Design > Field Layout to move the field to a usable spot.

It should look like this when complete. Now click the Edit Icon in the [Content Header] enter in the characters that can ONLY be entered. For this example lets say I don't want numbers. I will only include the 26 letters of the alphabet and click save.

<img src="/attachments/651ac779-8356-460b-8f2f-a3b3f84ea600/Security9.png">









The System Tables
deleteedit143Insert StatementsTo view scripts that will allow you to use the data in your Qrimp application to run them in your own database.

Go to Admin > Backups

You can choose to download either create and insert statement or just insert statements.

Working Offline, Backing Up, Getting Data out
deleteedit163Installing Qrimp on Windows VistaThe following instruction guide works with Windows Vista and Windows 7 Home Edition or better.

<h4>Installing Internet Information Services</h4>

When installing IIS on Windows Vista Home, <strong>be sure to include ASP.NET</strong> as in this more detailed installation guide:
<a href="http://learn.iis.net/page.aspx/28/installing-iis-70-on-windows-vista/">http://learn.iis.net/page.aspx/28/installing-iis-70-on-windows-vista/</a>

<h4>Installing SQL Server Express</h4>
For Microsoft Vista, you can install either the 2005 or 2008 editions of SQL Server Express.
<ul>
<li>To install SQL Server 2005 Express with Advanced Services SP2, including advanced tools such as the management studio, reporting services, and full-text search, from <a href="http://www.microsoft.com/express/2005/sql/download/default.aspx">http://www.microsoft.com/express/2005/sql/download/default.aspx</a>. It is the 234MB download file.</li>
<li>To install SQL Server 2008 Express with Advanced Services, you have two options:
<ul><li>Leverage a single installer to install SQL Server 2008 Express and all the prerequisites, use the following link:
<ul><li><a href="http://www.microsoft.com/express/sql/download/">http://www.microsoft.com/express/sql/download/</a></li></ul></li>
<li>Manually install SQL Server 2008 Express and all the prerequisites individually, use the following link:
<ul><li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b5d1b8c3-fda5-4508-b0d0-1311d670e336&DisplayLang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=b5d1b8c3-fda5-4508-b0d0-1311d670e336&DisplayLang=en</a></li>
<li>Note: Make sure that you follow the steps outlined in the <b>Instructions</b> section</li></ul></li>
</ul></ul>
Tips for installing the SQL Server:<ul><li>Include all the options when selecting what features to install</li><li>Use "Mixed Mode" for the security model</li><li>Rember the password created for the <b>sa</b> account because it will be used in the connection string in the web.config (see below).</li>
</ul>
Once SQL Server is installed, open the management studio. Log in as <b>sa</b> using the password you created. Create a new database called "intranet" with the default settings. The name you provided for the new database will be used in the connection string in the web.config (see below).

<h4>Installing Qrimp</h4>
You should have received an email with a personalized Qrimp downloadable zipfile with a password designed for only your use. Download that file and unzip the contents as follows.

Note, if you want to run qrimp from http://localhost instead of http://localhost/qrimp then you'll need to copy the contents of the qrimp folder to the wwwroot folder.

<strong>File Upload Security Settings</strong>

Add modify rights for the following directories:<ul><li>c:\inetpub\wwwroot\qrimp\attachments<li>c:\inetpub\wwwroot\qrimp\fileicons</ul>
to IIS_IUSRS group by right clicking on the folder in Windows explorer, choosing properties, clicking edit button, clicking ok to the permissions prompt, clicking IIS_IUSRS, click the checkbox by Modify in the list below.

<img src="https://developer.qrimp.com/attachments/55bf722b-d758-4f3f-932e-4e54df8e38cf/Vista1.png">

<h4>Install .NET 3.5</h4>
You can download the redistributable from <a href="http://www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en">http://www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en</a>

<h4>Reboot</h4>
A reboot here is necessary to let all the components come together. You may also want to use Windows Update to add any service packs that are necessary now.


<h4>Configuring IIS and Qrimp</h4>
From the Control Panel, under Computer Management > Services and Applications > Internet Information Services

Drill down to ComputerName > Web Sites > Default Web Site > qrimp

Right click choose Convert to Application

Either modify the web.config or the application settings > connectionstring to point to the intranet database created above. If you use notepad, you'll have to run notepad as Administrator to save the file.

<h4>Accessing Qrimp Locally</h4>
After all this is finished, type this into your browser:

<a href="http://localhost/qrimp">http://localhost/qrimp</a> (if you are using the default qrimp folder) or
<a href="http://localhost">http://localhost</a> (if you moved Qrimp to the root url, which we prefer)

Now you will step through a couple install screens. Qrimp will download the latest database configuration files from the Internet, create your database, and register the installation with us. After that you are good to go. You can synchronize with an application online by visiting http://localhost/qrimp/synchronize.aspx or http://localhost/synchronize.aspx and entering the details for another Qrimp application.

<h4>Potential Problems</h4>
<Strong>Directory browsing is not allowed</strong>
If you get an error that directory browsing is not allowed, then you probably forgot to add ASP.NET to the list of IIS technologies to install. See the first step above.

<strong>SQL Server Connection Problems</strong>
If you access the url and it redirects you to a page asking you to configure the database settings, but you have already configured them in the web.config, then your SQL Server instance may be configured to accept Windows Authentication only, see: <a href="http://support.microsoft.com/kb/555332">http://support.microsoft.com/kb/555332</a>

To enable mixed mode authentication, see this tutorial on the web:
<a href="http://www.hostmysite.com/support/vps/windows/mixedmode/">http://www.hostmysite.com/support/vps/windows/mixedmode/</a>

<strong>Blank Page Displayed</strong>
If you access Qrimp through the browser, but see a blank page, then there may be a problem with some of the security settings for IIS, which needs to write temporary files to the system.

You can test this by creating a test.aspx file in the wwwroot folder and trying to access it via http://localhost/test.aspx If you see an error indicating access is denied to c:\windows\temp or something like that, see this page for help enabling the correct security on that folder: <a href="http://geekswithblogs.net/ranganh/archive/2005/05/13/39582.aspx">http://geekswithblogs.net/ranganh/archive/2005/05/13/39582.aspx</a>
Working Offline, Backing Up, Getting Data out
deleteedit38Introduction to Tables<!--<nobreak-->
Tables are the core of a Qrimp database application. All of your data is stored in tables. Once you have created tables, you can enter data, delete tables and rows, add columns, view [Reports], choose different data [views] and more.

A table in your Qrimp application is composed of many records (also known as fields or items) stored in columns. Each field will contain data about a particular item in a table. For example, if I create a table for TeddyBears the fields might be Name, FurColor, PurchaseDate, etc.

Each field has an id number, which helps you track that item. The first bear I enter into the TeddyBear table will have an id of 1.

You can see the tables in your application by going to Develop > Manage Tables. You can change the way the data in a table is displayed with [Views], and change the way it is navigated to using [Navigation] options.

See also Definitions: [database table].
<!--</nobreak>-->
An Introduction to Qrimp
deleteedit136Item FooterOn the right of the [Detail View] for an item, you can see the "Item Footer". This is where [Attachments] and [Related Data] can be found. Though the item footer appears to the right by default, it can be moved with CSS to appear anywhere on the page.

<h3>Editing the Item Footer</h3>
To edit your Item Footer go to Develop > Header/Footer. The footer field corresponds to the footer. You can style the item footer using #rightcontent.
<img src="/attachments/500ad038-88ba-4e6d-997b-64f5fbfdb35b/Footer.png">

See also [Headers and Footers] and [Related Data].
Above and beside your data
deleteedit148Iterative DevelopmentIterative Development is a development methodology that is based on building a project quickly, in a series of short development cycles that allow for frequent feedback between the developer and the purchaser/end user/testers of the system.

Iterative development can reduce development time as it allows the changes that the user requests to be implemented sooner in the development process, reducing the amount of work that has to be done or undone.

There is a fairly comprehensive <a href="http://en.wikipedia.org/wiki/Iterative_development">article on iterative development</a> at wikipedia.
Definitions
deleteedit1285JavaScriptJavaScript is a type of code that is used with <a href="http://developer.qrimp.com/HelpTopics/HTML">to make the </a> elements of a page interactive.Definitions
deleteedit210Javascript and JQuery in QrimpMake your Qrimp App more dynamic with JavaScript and JQuery.Advanced Development
deleteedit147JavaScript APIThe JavaScript API will allow dramatically expand the capabilities of your system. In this help topic, we are going to spend a little time detailing the functionality you can accomplish rather quickly using a little bit of JavaScript. If you've used [Share Data], you've already done a little bit of JavaScript Programming.

<h4>Background on JavaScript</h4>There are many <a href="http://www.w3schools.com/JS/default.asp">JavaScript Tutorials</a> on the net to help you understand it better. JavaScript is a standard technology and has been in use for many years. We chose to use JavaScript because a lot of developers are familiar with it. Javascript can make your applications more accessible and platform independent.

<h4>Examples</h4>Every Qrimp app comes with some features that are built using JavaScript. [Share Data] for sharing data and [Field Templates] for columns validation are built with Javascript. These validation routines are fairly standard. To try an example, go to Design > Field Templates on the Add New view for many of your tables.

<h4>Extensibility Options</h4>In this Help Topic, we are going to concentrate on some of the techniques you can use to pull data out of Qrimp and use it in your custom programming activities. To get the most out of this topic, you should be familiar with the [Query String Parameters] first.

To make AJAX programming with Qrimp easier, we are using Matt Kruse's AjaxRequest.js from <a href="http://www.ajaxtoolbox.com/">http://www.ajaxtoolbox.com/</a>. If you are familiar with JavaScript and would like to use Dojo, Prototype, or some of the other common libraries in your site, <a href="https://developer.qrimp.com/db.aspx?t=1013&vid=8">Open a Ticket</a> and we will help you with this.

<h4>Retrieving Data with AJAX</h4>Because we are using the <a href="http://en.wikipedia.org/wiki/XMLHttpRequest">XMLHTTPRequest</a> object the following functions will only get data from local urls within your Qrimp app. Attempting to use them with remote URLs will return a security error.

<a name='geturlstring'></a><b>getUrlString(url)</b> This method will download the url and return the content as a string. You can use this function to retrieve a particular value of a particular field for example. Click the button below to retrieve the name of the help topic indicated by the id you enter into the box:

<input type=text size=5 maxlength=5 value="147" id=itemid> <input type=button onclick="document.getElementById('theresult').innerHTML='The name is: '+getUrlString('db.aspx?t=helptopics&id='+document.getElementById('itemid').value + '&_fieldvalue=name');" value="Try It!"> <span id='theresult'></span>

Here is the JavaScript for the example above, click to copy it into your app: <nobr><textarea onclick='this.select()'>
<input type=text size=5 value="147" id=itemid>
<input type=button onclick="document.getElementById('theresult').innerHTML='The name is: '+getUrlString('db.aspx?t=helptopics&id='+document.getElementById('itemid').value + '&_fieldvalue=name');" value="Try It!">
<span id='theresult'></span></textarea></nobr>

<b>getContent(url,element,clearcontent,startmsg)</b> We could have stream lined the above example using this method, which will download the url and insert the content into the page element indicated by the element parameter. Try this example:

<input type=text size=5 maxlength=5 value="147" id=itemid2> <input type=button onclick="getContent('db.aspx?t=helptopics&id='+document.getElementById('itemid2').value + '&_fieldvalue=name','result2',document.getElementById('clearcontent').checked==true,'<img src=/images/ajax-loader.gif align=absmiddle> Retrieving name...');" value="Try It!"> <span id='result2'></span>
<input type=checkbox id=clearcontent> Clear Content

Here is the JavaScript for the Example, click to copy it into your app:<nobr><textarea onclick='this.select()'>
<input type=text size=5 maxlength=5 value="147" id=itemid2> <input type=button onclick="getContent('db.aspx?t=helptopics&id='+document.getElementById('itemid2').value + '&_fieldvalue=name','result2',document.getElementById('clearcontent').checked==true,'<img src=/images/ajax-loader.gif align=absmiddle> Retrieving name...');" value="Try It!"> <span id='result2'></span>
<input type=checkbox id=clearcontent> Clear Content
</textarea></nobr>

<h4>Special Query String Parameters</h4><b>_INDICATESUCCESS=true</b> will tell Qrimp to execute a command only returning only the status of the operation. If the message is a success it will return the value of the EXECUTE_SUCCESS variable, which is "Changes applied successfully." If the operation fails, the exception message will be returned.

<b>_RETURNRESULT=true</b> is used for creating new records or operations on individual items. For example, say you want to create a new record in a database table. If you append _RETURNRESULT=true to the URL querystring parameter list, the system will return just the single value response. For an INSERT operation that creates a new record, that result will be an integer number identifying the ID value of the new record.

Using &_RETURNRESULT=true can be very useful for creating parent child relationships. For example, you may want to create an Expense Report, get the ID of that new expense report, then create new expense line items under that Expense Report.

<b>_RECORDCOUNT=true</b> will return only the number of items that would be returned for a particular query string.

<h4>Special Pages for Programming</h4><b>banner.aspx</b> allows you to perform Mash Up operations that grab information from external websites. Use banner.aspx with the following Query String Parameters:
<blockquote>
<b>?importimage=<i>imageurl</i>&<b>t=</b><i>table</i>&<b>column</b>=<i>columnname</i>&<b>id</b>=<i>itemid</i></b>
This command will retrieve an image from a remote website specified by <i>imageurl</i> and save it into your local Qrimp app. The value for the column specified and corresponding to the particular item indicated by itemid and the table will be set to the url for the local file. This functionality will allow you to ingest remote resources and use them locally within your Qrimp App. The imageurl specified need not be only an image, but could be a text file, html file, etc

<b>?getrgb=<i>imageurl</i></b> will return the average hexidecimal color of a remote image. This is useful for determining, for example, if there are any storm clouds in a weather radar. If the average hex value is close to black, it's a clear day, if it is closer to red, it is very stormy.

<b>?externalurl=<i>urltodownload</i>&starthtml=starthtmlstring&stophtml=stophtmlstring&<b>t=</b><i>table</i>&<b>column</b>=<i>columnname</i>&<b>id</b>=<i>itemid</i></b>
This parameter group will download a remote resource and save the value contained in that resource between the specified start and stop html strings, display it with a link to the original resource, and if the user has rights to update the specified table, save it into the column specified.

This feature is used to create powerful mash ups that persist data from multiple locations around the net. The values saved in these columns can be used in Calculated fields, sorted, and used like any other data entered via the normal routes like HTML forms, etc.
</blockquote>

You can use [Square Brackets] to use values in your database to build custom urls. Watch the <a href="http://www.qrimp.com/demos.html">External Data Sources demo on our Demos Page</a> to get a visual idea of how to do this with Amazon's Online Store.

<b>savedesign.aspx</b>
<blockquote>This page is used to enable drag and drop Field Layouts, but can also be used to update fields in your database for a particular record with a particular value. Here are the query parameters:
<b>savedesign.aspx?<b>ptable</b>=<i>tabletoupdate</i>&<b>id</b>=<i>itemid</i>&<b>f</b>=<i>field</i>&<b>v</b>=<i>value</i></b>

If the update is successful, the value EXECUTE_SUCCESS will be returned. Otherwise, a failure message will be returned.

<h4>Summary</h4>The JavaScript API is a complete set of tools that remove all limits on your application. If you need additional support, please contact Qrimp Support.
Javascript and JQuery in Qrimp
deleteedit113Known IssuesSome things are not yet possible with Qrimp. (We know, hard to believe!) Here's a list of things that have caused our users trouble in the past.
go to page: 1 2 3 4 5 6 7 8 9 10 243 records. Showing