| | | | 04:00 PM Sunday Nov. 08, 2009 | | | | | |  |
| | | | | | | | | | |
| |
| |
| [Posted in blog Tips & Tricks] A branch is used to make changes to several versions of a project in parallel. For example, when you deploy a version at a customer site, to preserve the source of the deployed version in case you need to perform corrections, you may want to create a branch. In parallel, on the common branch, developers can keep working on the next release. Branch management also allows you to manage different versions for each customer. Indeed, the benefit of using branches with SCM, is that the developer can apply modifications from one branch to another. Creating a branch afterwards Branches are created using the "Create a branch" option of the "SCM" menu. But if the branch was "forgotten", no big deal: it is never too late to create branch since you can do it later using the history. In this case, you must: • Open the project's history using the "SCM .. Project management .. Project history" menu. the project's history shows you all the project versions that have been checked in. • Select the version you want to use for creating the branch • Validate by clicking "Create branch". • Name the branch "Customer version" for instance. • Specify the directory for this branch on the development machine. • Specify the directory for this branch in the source database. This new branch can now evolve in parallel with the "common trunc" ! This means that if changes are required on the customer version, the developer can implement these in the branch with total piece of mind.
Applying changes During the project life cycle, you will need to retrieve changes and fixes developed in the common trunk. This operation is performed in the "Branches .. Retrieve modifications from a branch" menu. You can retrieve all the modifications performed on an element or only some of it.
|
| |
| | |
|
| | | | 10:35 AM Tuesday Aug. 25, 2009 | | | | | |  |
| | | | | | | | | | |
| |
| |
| [Posted in blog Tips & Tricks] The WLanguage Trace function lets you display information during an application's execution. This function is often used during the development phase of an application. On the other hand, a lot of developers are aware of the possibility of customizing how the trace works. This customization is done with the TraceStart function of WLanguage. // The trace window is displayed // on top of the other windows // and a trace file is saved TraceStart(trWindow+trTopMost+trFile, fExeDir()+["\"]+"TraceExecution.txt") You can: • Displaying the trace inside a window, is the default behavior with the trWindow constant • Save the trace in file with the trFile constant. • Disable the trace by programming with the trDisable constant |
| |
| | |
|
| | | | 04:00 PM Thursday Aug. 20, 2009 | | | | | |  |
| | | | | | | | | | |
| |
| |
| [Posted in blog Tips & Tricks] The WLanguage Trace function lets you display information during an application's execution. This function is often used during the development phase of an application. On the other hand, a lot of developers are aware of the possibility of customizing how the trace works. This customization is done with the TraceStart function of WLanguage. // The trace window is displayed // on top of the other windows // and a trace file is saved TraceStart(trWindow+trTopMost+trFile, fExeDir()+["\"]+"TraceExecution.txt") You can: • Displaying the trace inside a window, is the default behavior with the trWindow constant • Save the trace in file with the trFile constant. • Disable the trace by programming with the trDisable constant |
| |
| | |
|
| | | | 12:00 PM Thursday Jul. 30, 2009 | | | | | |  |
| | | | | | | | | | |
| |
| |
| [Posted in blog Tips & Tricks] In Client/Server mode, network transfers take time. HyperFileSQL Client/Server offers frame compression: the data packets that travel between the applications and the server are compressed. Therefore, the volume of data traveling on the network is less and the data moves faster. To enable frame compression, simply: • use the WLanguage ..Compression property on the connection. • check the "Data compression" box in the description of the analysis connection. Note: Frame compression should only be used with slow networks: Internet GPRS, ... On a fast network, the time spent compressing and decompressing frames may offset the time saved. |
| |
| | |
|
| | | | 03:01 PM Monday Jul. 20, 2009 | | | | | |  |
| | | | | | | | | | |
| |
| |
| [Posted in blog Tips & Tricks] Stored procedures are procedures written in WLanguage that run directly on the database server. These procedures let you optimize process speed. Since all the database accesses are performed from the server itself, no information has to travel on the network. Stored procedures are especially well suited for processes that do not require user input, such as statistic processing for instance. Creating stored procedures To create a stored procedure, simply right-click inside the analysis treeview and choose the "New set of procedures" option. To create a new procedure in this collection, simply right click and choose "New procedure". The stored procedures are written in WLanguage, in the WinDev code editor. Note: • If queries are used in stored procedures, they need to be added to the analysis as "Stored queries". • The contexts (global variables, HyperFileSQL context) are not shared between the application and the stored procedures. A stored procedure has no information about the project and vice versa. Deploying stored procedures To put stored procedures on the server, you can: • run the automatic modification. Indeed, the automatic modification does NOT only update files. It also updates integrity constraints, procedures and stored queries. • only update the stored procedures. To do so, simply click inside the analysis treeview and choose "Update stored elements". Note: To call a stored procedure from a project, simply use the HExecuteProcedure function with the following parameters: • the name of the connection to the server that must run the procedure, • the name of the procedure to run, • the parameters to pass to the stored procedures. |
| |
| | |
|
| | | | 12:00 PM Tuesday Jul. 07, 2009 | | | | | |  |
| | | | | | | | | | |
| |
| |
| [Posted in blog Tips & Tricks] Using the HyperFileSQL logs, you can figure out which queries are used the most and which queries take a long time to run. These queries should be optimized. To optimize a query, WinDev offers a query optimizer, accessible via the "Project .. Performances and enhancements .. Optimize the project queries" menu option. The query optimizer lets you see in just a few click whether you need to add key items to the various data files in order to optimize the queries' execution. Simply select the queries to check and click the "Run the performance analysis" button. WinDev displays the keys to add to the data files to optimize the queries then. If the optimizer detected some missing keys, simply click the "Apply all modifications" button and WinDev will automatically create the needed keys. Then, simply regenerate the analysis with the automatic data file modification option. Note: When a query is created, WinDev automatically performs this performance analysis. If an optimization is possible, an AAD (Aided Application Development) suggestion will be displayed in the query editor. |
| |
| | |
|
| | | | 12:00 PM Wednesday Jul. 01, 2009 | | | | | |  |
| | | | | | | | | | |
| |
| |
| [Posted in blog Tips & Tricks] A large number of tools come with SCM to performed advanced operations. One of the indispensable tool is the management of source differences.
This feature allows developers to see the source differences between two versions of an element (a window, a class, etc.) and if needed to merge the source code to apply a correction for instance. History To do so, simply access the element's history accessible via the "SCM..Element history" menu. From this window the developer can access all the versions of the element since it was created. Next to each version there is a comment. These comments are the ones entered by developers when checking in the element into SCM. Note: You can force comments to be entered by defining a "check-in policy" from the SCM explorer. This feature is described later in this article. Retrieving and merging Using the history, you can restore the element as it was at a previous date. There are several ways you can retrieve an element: • retrieve the entire element. That is all the whole element (a window for instance). To retrieve the entire element, simply select the version to retrieve and click the "Get" button. This option is only interesting if the element has not evolved a lot. This is because if changes have been made, they are overwritten. • retrieve only the piece of code you want. Simply click the "Compare" button. in this case, WinDev calculates the differences between the current version of the element and the version selected in the history. The developer then sees all the differences between the two elements (code and interface differences). When clicking the eye icon, the developer is shown both pieces of code side by side • on the left the code of the current element, • on the right the code of the element in the history. You can then retrieve part of the code using the arrow keys located next to each detected difference. |
| |
| | |
|
| | | | 11:22 AM Wednesday Jun. 24, 2009 | | | | | |  |
| | | | | | | | | | |
| |
| |
| [Posted in blog Tips & Tricks] The statistics on server use are accessible from the HyperFileSQL Control Center. Simply select the database you want and access the "Log and Statistics" tab. From this tab, you can access the server's logs and activity statistics.
Server logs The server logs contain information about the calls to the server, i.e. about the requests sent by the applications. Logs allow you to monitor applications that use a HyperFileSQL server. For example, you can detect queries that are run an abnormal number of times, queries that take too long ... Activity statistics The activity statistics provide information about the HyperFileSQL server machine. For instance, the amount of information sent through the network, the amount of information read from the disk... The activity statistics allow you to see whether the server is properly configured to support its loads: is the network card fast enough, are the disks fast enough, ... Activation The logs and statistics are enabled and configured in the "Configuration" tab of the HyperFileSQL Control Center. To enable the logs, simply: • select "Logs", • check the "Enable the backup of the calls to the server in the log file" box. When selecting this option, all the calls to the server are stored along with the function that made the call (for example, HExecuteQuery or HReadSeek). You can also store all the parameters of the calls to get an even more detailed log. To find out which query has been executed for example, the query parameters ... To enable activity statistics, simply: • select "Activity statistics", • check "Enable the activity statistics of the server". Note: In order for the modifications to be taken into account, you need to click the "Apply" button. Once the execution log have been enabled, you can display • the most used queries, • the longest queries, • the longest function calls, • the applications that consume the most, • all the logs. Simply select the information to display and the start and end dates you want, then click the "Display" button. |
| |
| | |
|
| | | | 12:37 PM Thursday Oct. 04, 2007 | | | | | |  |
| | | | | | | | | | |
| |
| |
| [Posted in blog Technology and Market] I was talking to a customer today who had an overhaul project for his Web site. He had made his choice to redevelop his site, and he had understood some of the advantages of WEBDEV. However , I realized he thought he was dealing with a classic tool, with a whole set of restrictions, and hundreds of lines of codes to write. He wanted to proceed in two stages, first build a mock-up of his site, then develop it. He was wondering what tool he could use to build the mock up. Well, with WEBDEV, there's no need for a complementary tool because the whole life cycle is covered. The developer can directly build his mock-up with WebDev: place his text edit controls, his images, his buttons,..., and in sum define his whole interface. And, above all, without having to write a single line of code, he can have a working site, with the corresponding automatic input masks, action buttons, etc. Next, thanks to WLanguage's power and ease of use, he can add his procedures with some lines of code: no HTML code, Javascript or anything else to write. In the case of an Intranet site, the developer can even integrate user groupware rights in just one click, with no code. |
| |
| | |
|
| | | | 12:13 PM Monday Oct. 01, 2007 | | | | | | |
| | | | | | | | | | |
| |
| |
| [Posted in blog Technology and Market] For all of those who are constantly on the move, it might be interesting to have all your applications and data on a USB Flash Drive. This lets you avoid moving around with a laptop, and run the application from any computer. With WinDev, it's extremely easy to deploy an application and its data on a USB flash drive, in other words, to create an application that you can run directly from the USB flash drive. PrincipleIn fact, it's very simple! You develop an application with WinDev, just as you usually do. When you create the .exe, all you have to do is chose to include the .dlls in your executable. Next you can copy the executable and the data on a USB flash drive. That's it. Some precautionsKeeping in mind that the USB flash drive can be removed from the computer at all times, some precautions have to be taken with your applications. For instance, if the user removes the flash drive, he should be informed that the application is still running, to avoid any data loss. There's a function in WLanguage that informs you when a USB flash drive is plugged in or disconnected (fDetectRemovableStorage). We can now check the action performed on the USB flash drive and if it's been removed, you can display a message asking the user to reinsert the flash drive, or the application is closed. Second precaution, to ensure the integrity of your database on the USB flash drive, we advice you touse the WLanguage function, HSecurity with “2” as a parameter. This function forces a physical write on the flash drive without having to pass through Windows' cache memory. One last thing - If you have to save parameters, don't use the registry. They'd be lost when you change computers. You should rather use a .ini or an XML file. To do this you can use the WLanguage functions InitParameter , SaveParameter, LoadParameter).
- Use relative paths in your applications. The fact is that the flash drive isn't always on the same drive.
That's it, with just some tips your ready! |
| |
| | |
| |
| |
| |
|
| | |
|
|
|
|
|
|
| 10:35 AM | 25 Aug. 2009 | 1 comment |
| | |
| | | | |
| |
| | | |
| |
|
|
|
| 12:37 PM | 04 Oct. 2007 | 2 comments |
| | |
|
|
| 12:02 PM | 18 Sep. 2007 | 2 comments |
| | |
|
|
| 10:35 AM | 25 Aug. 2009 | 1 comment |
| | |
| |
| |
| | | |
| |
| |
| |
| |
| |
| |
|