I came across this product last night (which kept me up till 2:00 AM ) and has got me pretty excited. One interesting thing is that this product is being used to develop commercial apps which is my direction. Although I'm planning to download the trail version and get into the docs, but there are some questions that the sales team did not have solid answers to them. I'll categorized them to the best I can. Perhaps some of the answers can end up on you website FAQ:
Good I guess, I mean the 2:00am thing…
-------------
[Deployment]
-------------
1) When a developer purchases the development kit, security module and database toolkit, is there any runtime royalties with these kits?
All current products are runtime royalty free. The only twist is the Enterprise Server, middle tier. The actual developers SDK is zero cost but when you deploy your product there will be an annual fee assessed to the end-user. Similar to SQL CALs or Citrix. The price is yet to be published but it is our desire to be competitive. When published the rates will be as follows:
Developer Toolkit (SDK) – Free
$995 – Up to 25 users who will access the server (25 CAL) / SERVER
$2495 – Up to 100 users who will access the server (100 CAL) / SERVER
$4995 – Unlimited users / SERVER
All prices are annual. As a side note, to incorporate this feature in your application requires a single line of code.
2) When my app is ready for deployment, does SF offer any installation packaging system that I can use to deploy my app? (i.e. an installation that verifies whether the user has proper .Net runtime and etc.)
No, you would need to create your own install. We are currently using InstallAware for our applications. It seems to be friendly enough, as install packages go, and has a pre-built requirements list.
3) During the course of development, when the database schema changes and we are ready to send updates, is there any facility in SF to automatically convert the user's database?
This is the actual function of the DDT. It was designed and is currently being used to accomplish this task. In fact, it is not necessary to follow a linear sequence when updating the user’s databases. For example, say the user is currently running version 2 of your application and your current published version is 5. It is not necessary for the user to upgrade in sequence (2,3,4,5) the DDT will update the schema changes from 2 to 5 by simply installing version 5. The DDT help has samples showing this functionality.
4) I read that you're planning to release a middle tier server. Is there a royalty or server license fee involved? If yes, how is organized and how much? (this way we can establish a final product price when offered to users).
Answered in question 1.
5) in 3 tier smart client, will it use ClickOnce system for deployment?
Refer to the above described install scenario.
---------
[Security]
---------
6) Can the users/roles/rights of the security be created/modified by users without the need to the developer being involved? In commercial apps, we do not want to get involved about setting users, roles and rights.
Yes, your only responsibility is obviously the permissions. This is a very well designed application providing session locking, restriction sets, field level security, CRUD functionality controlled via the business object properties, application events, data events, and capability for localization.
7) Is the security data stored in database? or flat file or XML?
All security data is stored in SQL server and requires SQL server to run. If you use something other than SQL we recommend installing SQL express for security.
8) When a user logs in, How does SF display what forms/reports/etc. are available to that user? Is it done via menus or some sort ot TreeView?
Actually, this functionality is under your control. The login process is used to determine if the User is granted access to your application. It simply returns a Boolean value and entrance is a programmatic determination. Once in the application, a SecurityKey attached to each form determines whether the user has access to that form.
9) Within an app, how can certain parts or region of that form be hidden to certain users? Is that done via code or admin setup or what?
Yes, this is accomplished via the field level security. Depending on the value of the permission a field can be hidden from the user, displayed with a substitute character (x or * -- your choice) , read only, or normal editing state. The purpose of the substitute character is to inform the user that data exists within a field but not allow viewing.
--------------
[Development]
--------------
10) The same way you have provided SF for WinForms, is there any plan to have ASP.Net WebForm development (using your tools) that can be used to connect to BO. This way, we can offer WinForm and WebForm of the same screens and features!
This feature currently exists for web forms. A BO, once created, can be used across platforms.
11) What's the best way developing, printouts and reports. (lots of it)
Work hard and stay up until 2:00am We have several visions internally as to the perfect report writer. We are trying to flush this out within the next 30 days. However, some of our users use different report generators… everything from Active Reports to DevEx’s XtraReports, so you might ask some of them for their opinions.
12) When new app is being developed, do we create the tables/fields/indexes in Database first then import them to SF OR do we create our BO based on OO methodology and then have SF create the appropriate data tables and their relationships?
We recommend using the DDT to create all tables/fields/indexes/relationships and then deploy the schemas to a database. Additionally, static data can be deployed to your users. Within SF regardless of how the schemas are created an internal BO mapper is used to strong type the fields.
13) [As you know] MS is working on "Entity Relationship" or vNext which allows the developer to create a diagram of his view of the system relationship regardless where the data is. Since SF has it's own O/R mapping, is this something SF might use?
We will incorporate and review all new technology as it becomes available. We used .NET 2.0 beta for 16-18 months before the product was released. It is our desire to be leading edge without too much bleeding edge on the way. Things change features are deprecated but yes we care about new techniques. The next version of SF will include our own implementation of the LINQ functionality to provide support that extends beyond the simple DLINQ and Entity LINQ that Microsoft will provide in the next version of Visual Studio (Orcas).
14) When doing query or filtering, does the developer has to use your proprietary syntax or is it SQL code?
Nothing is proprietary, how nice . It would be SQL or C# or VB code depending on what you are trying to accomplish.
15) Following the above question, will you support LINQ syntax?
Yes
16) Is there any plan to support WPF for the UI?
Yes
17) What grid system do you support/prefer? Users like to see their data in matrix format (Thanks to Excel )
Infragistis, or devexpress
18) Are there any pre built system in SF that users can filter/search their data by different fields without developer writing all kinds of custom filters. i.e. list of customers whose balance > 2000 and State="Florida"?
Not really but we have a great built-in browse dialog function for locating accounts.
19) Are there sufficient docs/tutorials to get started?
I think so; we have tried to make it as easy as possible. IMHO
20) Do you recommend the Training Videos?
Yes we have not heard otherwise. In fact we have had several good responses.