Questions & Conversations
Software Factory & IAM (Installation, Development, Deployment, Integration) | E-learning | Documentation | Community
- 2,172 Topics
- 7,375 Replies
We have a number of assemblies configured on the current development environment. These assemblies need to be passed on to every development/demo/customer/production environment. Last week we've added the assembly HttpConnector to our current development environment. This assembly was also needed in the multiple demo/customer/production environments. It appears that this assembly wasn't automatically created on the different environments. Whichresulted in errors in a customer/production environment. Besides the above assembly we also have more assemblies that need to be passed on to every environment: [list=1] [*]SQLTCPExhItemSender [*]HttpConnector [*]Newtonsoft.Json [*]System_Runtime_Serialization [/list] Is it possible to configure these assemblies to be part of a deployment process? It also raises the following questions: [list] [*]How do we make the assemblies part of the deployment process and prevent manual work? [*]How do we maintain the original .dll files?
I'm trying to move our product to the Cloud using this blog post: [url=https://community.thinkwisesoftware.com/blogs-21/to-the-cloud-leveraging-microsoft-azure-paas-155]https://community.thinkwisesoftware.com/blogs-21/to-the-cloud-leveraging-microsoft-azure-paas-155[/url]. I'm facing some difficulties regarding the differences between an on-premise environment (SQL Server and a file system) and Azure (Azure SQL Database and Azure File Storage). To start with, it's the difference in handling files. In the on-premise setting I'm able to upload files and read them using methods in SQL Server like xp_DirTree for reading a directory, and openrowset / bulk insert reading the contents of the file. In an Azure environment this isn't possible. Lets say the steps for the end user are currently as following: [list=1] [*]The user starts a task where it can upload a file using a 'File upload' control. This upload is bound to an Azure File Storage location, so it'll upload immediately. [*]The use
This is an Archived topic. The solution is available in the Thinkstore inside the Software Factory.GoalThe goal of this solution is to automatically add trace fields to all tables so the user can see who added the record or who made the last change. This solution adds these fields to a separate tab page on a form. This looks like this in the GUI: You can choose at what moment you want the fields to be filled: During editing or after saving the record.SolutionThe solution consists of code for Dynamic Model (for adding the fields) and two Control Procedures (for filling the fields). Depending on the moment you want the fields to be filled (during editing or after saving), you can choose either for a control procedure for defaults or for a control procedure for triggers.Dynamic model add_trace_columnsThis code adds trace columns to every table.The trace fields are: update_user update_date_time insert_user insert_date_time If you add the tag 'no_trace' to a table, no trace columns
Hello everyone,We're experimenting with the API functionality and its OData query possibilities. We have a situation that we can't seem to get "right" though. Let's consider the following situation:Table "car"Table "driver"Table "car_driver"Car_driver obviously is the linking table between car and driver. To query that, we need to "expand" the relation, as explained in the documentation. So, we can do like this:https://our-fabulous.thinkwise-app.net/indicium/iam/our-app-id/car?$expand=detail_ref_car_car_driverto obtain the car and all ID's of the drivers, orhttps://our-fabulous.thinkwise-app.net/indicium/iam/our-app-id/driver?$expand=detail_ref_driver_car_driverto obtain a driver and all the car ID's he or she drives. Both queries can use an addition filter and other goodies.So, how do we "expand" our data model, so that it gives a car with its drivers in one go, or all drivers with their cars in one go? We can expand one level, but not beyond that. What do we need to do, to hop over a
This is an Archived topic. The solution is available in the Thinkstore inside the Software Factory.GoalMany application have functionality for importing or exporting data in XML format. Sometimes you will get an error about an illegal XML character:XML parsing: line 1, character 2967663, illegal xml characterAnd then you will have to try to find that character, which is very hard. This solution can help you out.SolutionThis solution creates a stored procedure search_illegal_xml_characters which searches your entire database for illegal XML characters. It is also possible to search in one specific table.The procedures uses a function, remove_illegal_characters_for_xml, which is also created in this solution. Important: this function does NOT remove illegal characters from your database. It only removes those characters from a string.Dynamic model add_search_illegal_xml_charactersThis dynamic model code creates stored procedure search_illegal_xml_characters and function remove_illegal_ch
Suddenly we had the following error (displayed as information?) in our webgui (2020.2.22) hosted on Azure:Error Report scripts were found in the application while the script execution is deniedI have absolutely no clue by what this error is caused. We haven't done any application or webgui updates. I’ve restarted the app service and the error disappeared.We have a DevExpress report with a before print event which is probably causing this error.Anyone familiar with this? I want to know what is causing this error.
This is going to be a lengthy post about the Resource Scheduler extender. Instead of making a couple of threads, I’ve bundled all questions we have regarding the resource scheduler into one. [h3][b]Extender properties[/b][/h3] Let’s start with the extender properties of the resource scheduler. In addition to the extensive amount of properties you’re presented with, the description of said properties leaves a lot to be desired. Most of the time there’s little to nothing added to make clear what a certain property really does or how to properly set up one. For example: [img]https://uploads-eu-west-1.insided.com/thinkwise-en/attachment/9f645efa-a3f3-4f1f-a866-6a58824adeff.jpg[/img] As you can see the value type of the ‘Days’ property is Int. But if I, let’s say, enter 5 as a value and refresh my model I get the following warning. [img]https://uploads-eu-west-1.insided.com/thinkwise-en/attachment/8a8acf96-7e1f-46e1-9e58-9ff821e3cef5.jpg[/img] That leaves me with a lot of questions as
Crystal Reports asks for user credentials after update of platform and server migration. Why? How to solve? There is no logging in the debugger. This is the situation: all on windows, no web/mobile start with platform 2018.1 on server A, named DB01 copy all to server B, named DB02 upgrade platform on server B to 2020.1 rename server A to DB_decomissioned rename server B to DB01 Included in the platform upgrade is the switch to another Crystal Clear runtime. After performing all steps the application is running fine. Reports though come up with a login screen where it used not necessary to login. Tried login combinations, at least: user account, integrated security / domain logon user account, password administrator account, integrated security / domain logon administrator account, password Neither user has trouble accessing the application or querying the underlying data used in the reports via the SQLManagement studio. The server is not a combined domain controller, as in the other
Since a last IAM Sync today our scheduled system flow won't be executed anymore. Last run was at 2.21: PM (UTC) today but the next run every 3 minutes will be updates, but the task won't be executed.We have both Indicium and Indicium Basic running against this IAM to support both Universal and Windows UI via Indicium.An IIS restart didn't fix the issue, nor a sync of the IAM did fix it.Running IAM 2021.1
Lately, we’ve received the question from several parties (app suppliers like WerkbonApp) whether it’s possible to realize a connection with them. Because of that, I’ve started some intensive testing with Indicium (2018.1 build 2). While doing this, I’ve encountered several problems and questions that I’d like to submit. 1. Is there another authentication way than Basic Auth.? If so, which one and how can I apply this? 2. Why is it possible to filter by $select, $filter and $orderby separate but not with a combination of these? 3. Why is the $top=10 parameter allowed on a table but not on a view? 4. How can I track down the cause of a problem when the system returns a particular HTTP error code (like the 500 internal server error)? I’m aware of the subfolder Logs from Indicium on the (web)server. Are there any other methods to tackle this problem? 5. Is it possible to request both master and detail records (like organisation and contact) in one response? 6. A few p
Hi All,I have a question about using subreports in SQL Server Reporting Services (SSRS) in Thinkwise.Currently for testing I am using Microsoft Visual Studio (using Report Server Project) to make a simple main report with a subreport.What I did was I made 2 reports (see Figure 1). First the MainReport.rdl and second the SubReport.rdl Then in the MainReport insert subreport item then right-click on subreport item then Subreport properties then under "Use this report as a subreport:" I select the subreport file I made earlier named SubReport.In Software Factory in Reports I'm using for Report type "SSRS (Local)" then in File I select the MainReport.rdl. When I'm opening the report in application I get an error (see Figure 2) saying that subreport could not be found at specified location....What I did I moved the subreport to the specified location given in the error and renamed the file from .rdl to .rdlc and got the expected result information on the subreport.My questions:Is that the w
When I want to start my application as a domain user, I get the following message "Cannot open database "..._IAM" requested by the login. The login failed. Login failed for user 'DOMAIN\\user'." All the domain users work properly, only the users that has been set on "disabled" and later set back to "enabled" have the double backslashes. When I start SSMS i can normally logon to the databases. windows2012R2 SQL2008R2 Can anyone help me on this? Thanks in advance
Since the new version the generation process is done by Indicium. However, often this message is displayed; It usually disappears/appears a few times and the generation does not fail, but still, It does not look good to me. What is the cause of this message?Thanks!
Hello everyone,Because the new Exchange connector that is scheduled for the month November of this year will not give adequate possibilities for our client, we're trying our luck with Microsoft Graph. We created a call and made it fit our needs using Postman.We configured and use all the right credentials (client ID, tenant ID and client secret) for token generation. Actually, we created a call for getting data, and one for patching data. The call types are, of course, get and patch respectively. All calls are successful, and perform as expected, using Postman.Next, we went to our Software Factory, to make Thinkwise perform the same calls. Using a process flow, we make the proper call, the same as we did using Postman.We get a correct token in Thinkwise. When we copy this token from the debugger, and check it with jwt.ms, we get a valid token. In fact, when we use this token in Postman to make calls, it works perfectly. So, token generation works properly.However, the calls that work i
When the user opens the (desktop) application for the first time, our application might be a bit overwhelming. That's why we want some 'tutorial' or landing page where the software is explained. This could be a web page with some videos embedded in it. This is a bit like downloading a new app on your phone where the important parts are highlighted in a 'scroller view' (each dot is a page) or there is a highlight on certain button or action. The user should keep seeing this window, until he clicks somewhere saying "Don't show again". I did read this post that looks a bit similar: https://community.thinkwisesoftware.com/development-13/how-do-i-set-a-table-as-a-start-object-or-landing-page-when-ever-a-user-logs-in-889 By following the steps described on the link above we could add a menu item with 'first start' and set that as a start object for each user. Problem is that it will start each time, where it's quite difficult for a beginner user to disable this the next time: You have to
For a certain task it’s required to query a system-versioned aka temporal table at a certain point in the past. Let’s call this table temporal_table for simplicity.Here’s an example query:select v.*from temporal_table for system_time as of '2021-2-27 14:59:46' vIn SQL Server Management Studio (SSMS) this runs in about 2 seconds for this particular table. Using this in a lengthy select statement with a bunch of joins also runs rather fast in SSMS as it takes about 10 seconds to finish.The problem happens when this code is used in a task in our end product. As soon as the for system_time flag is used in the SQL code the task goes from running 10 seconds to what’s basically forever. This is the same code used in SSMS, with the exact same datetime for testing purposes. (This date will be replaced by a parameter in a later stage as it needs to be dynamic.)I’ve tried to get around the issue with this alternative query:select v.*from temporal_table for system_time all vwhere '2021-2-27 1
This is an Archived topic. The solution is available in the Thinkstore inside the Software Factory.In some cases it may be desirable to know the translation of a model object, such as a table, column or domain element, inside your business logic. See for example this idea: Translating domain elements | Thinkwise Community (thinkwisesoftware.com)Starting with the last releases of Indicium and soon available in the Windows and Web GUIs, a session variable is added that provides the language of the current user. This makes it possible to automatically generate a function that returns the translation of model objects in the user’s language. FunctionTo add this dynamic function to your Thinkwise application, first create a function subroutine named tsf_translate with the following properties:Return value: scalar Return scalar domain: transl - nvarchar(200) Input parameters: type_of_object - int transl_object_id - varchar(100) Control procedureNext, add a control procedure in the Function
IntroductionThe Software Factory provides a menu item where it is possible to access screens related to a large part of your model, named “Model content” (formerly “Full model”).Because these screens are not shown in the context of a particular process, all available data in the screen is shown. This results in a lot of tab pages that display a lot of information.These screens are also present on another place in the SF, where the are optimized for the process they are part of. Think of:Data model > Tables: when you want to create a new table. At this stage you don't need to worry about the UI aspects of the table. User interface > Screen types: when you want to change a screen type. This screen contains a handy designer which can be used to visualize what your screen will look like. Processes > Tasks: when you want to introduce a variant for a task. The screen type here is set up hierarchically, which means there will be enough space to work with when a variant is introduced.
Together with a fellow developer, I am looking for a way to connect to Indicium (Universal) as efficiently and securely as possible from an external application.I couldn't find anything about this in the documentation and in the community.From the data traffic I have been able to deduce that the Universal GUI uses Basic/Cookie Authentication. We could use this way, but probably there is a better way.According to others, there are better alternatives such as JSON Web Tokens (JWT), instead of cookie authentication. I don't know what more the Indicium API offers in terms of authentication.I'm looking for best practice examples.Is there anyone who has already looked into this and can give advise?
I am trying to pass a variable to a DevExpress report using the Reportingservice. When I call the report directly, passing the parameter directly as a Report parameter, it works fine. When I am trtying to pass it with help of the rapport_params it fails somehow. In the rapport_params I inserted the following values:id 149530report_id 115036parmtr_id order_nrparmtr_value 1035939 Inside the DevExpress report I have defined the variable: When I use a value in the preview it also works fine, so I guess the problem is in passing the value from the Reportingservice to the report? Does anyone have any experience with this?
Hi, We have a situation where a 'suggestion-contains' control has a lookup with a couple of prefilters. Now when one of the prefilters is active, the lookup (with the pop-up closed) still only shows items within the prefilter. This feels a bit counter-intuitive, because every time I want an item belonging to another prefilter, I need to open the pop-up and change the prefilters. Is there something I can do to reset the filters every time the pop-up is closed? Thanks.
Login to the Thinkwise Software Community
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.