Uniface 10 Questions

Author: stijn.courtheyn@xperthis.be (Stijn Courtheyn)

I have some questions after the webinar. - Menu Additional? We use it now every day. We added items with forms    search for used entities and compile function,    Source control (link with TFS and the internal task system)    ... - Proc editor You have a list of all the possible models and entities Are these always completely loaded (we have 15 models and 1000 entities)Can you search on a model or entity?

24 Comments

  1. Hi Stijn, maybe I have some answers. Currently, there is no additional menu hook any more, but I am sure it will come back one way or the other. When is off course always based on the the same question: it depends on priorities. PM is aware of this; still keep telling your stories why you need it, it helps us to understand what you do with it. We are actually thinking about several types of hooks. For example, one in the main menu (similar to the additional menu), but also a hook in the action menu of the editors, or even hooks in the context menus, which allows to create your own features on the current selection. We are currently working on a project called Work Area support. What it eventually will bring still needs to be designed out, but the idea is to have an implicit synchronization between your sources in the Repository and your sources on disk. The sources on disk will be of a better XML format than Uniface 9 and allows easy merging of sources outside of the IDE. It also takes away the need for import/export functionality; it just happens automatically. As part of that project we are also considering hooks for source control integration, like check-in and out from the IDE. Currently, indeed all object lists that you in the IDE, show the complete set as they exist in the database; so, that might take a while to retrieveEmbarassed. We are aware of that; we just did not get to it just yet. We are now working on improving the support for large datasets, think of paging on the datasets, maybe filtering, searching... anything that allows you to find your objects back in your database. Gerton


    Author: Gerton Leijdekker (gerton.leijdekker@uniface.com)
  2. Hi Gerton I totaly agree to Stijn In real world, there is

    • a need for addtional menus
    • a need to filter large sets of tables/components/global procs/....
    • ...

    Why not using the old workbench with an new engine in the background? Just migrate your IFD/IDE components from 9.7 to 10. What will work for us will also work for you Wink Ingo


    Author: istiller (i2stiller@gmx.de)
  3. Hi Gerton, on the U10 existing customers will expect the usability and support they are used to plus improvements in any area. And for sure they want a tool which supports theyr existing way of doing their software development. Preferences, Metadictionary and Additional Menu are since decades key functionality to adapt homebrewed productivity improvement tools. See my presentations for the german user group in 2006 and 2008 on "Code Generation" and "open IDF". In U9 I can disable auto retrieve so in the open dialog, it will wait for my profile rather than wasting time in a load all. And the shortcust allows me to have different export settings which makes my day-to-day work easier. In U10, I always have to key in the same data in the export form. Well, one can claim the U10 is a big change for the existing customer base ...


    Author: ulrich-merkel (ulrichmerkel@web.de)
  4. I've always worked from the principle that performance is designed into an application from the beginning - not as an afterthought. Working in a single model, or two or three, with 50 or so entities, less than 100 components - that's not an enterprise application. I think it's 'dangerous' for the lab to try to understand everything a development shop is doing with such a powerful tool as Uniface 5,6,7,8,9 - and a lot of that power that existed in 5,6,7,8,9 seems to have been surrendered on the altar of the rewrite. And let me clarify, when I say 'dangerous' - within the framework of Uniface 5,6,7,8,9 - there were things we couldn't do - hence we found a way around it using the hooks or accessing the dictionary directly. 'Dangerous' is in the context of the lab trying to find / understand / develop / reject develop / test and maintain specific functionality developed over years by individual development teams to fit their paradigm of development - as in 'the lab has plenty of items on its plate for the time being...'. I understand, and fully support, the need for the rewrite - trust me, I do. However, when there is such a LARGE existing developer base, many with 1000's of components, 1000's of entities (and add sub entites to that) - one would expect certain functionality to be present from day one. Chief amongst them - the ability to search and filter objects, additional menu items, meta dictionary access amongst others. Finally, Gertons comment above re import / export happening automatically - seriously? Since when did that become a good idea? I have a 'private' version of my repository for a reason - not for Uniface to 'auto-sync' with the mothership. I chose when I want to sync - or not as the case might be.... As with everything else, I'm sure things will flush out over the next few months - one suggestion would be have an option in the installation - 'turn on all new things' or 'turn off all new things' and have a VERY comprehensive settings / preferences tab based component...


    Author: Knut (knut.dybendahl@gmail.com)
  5. Knut said Finally, Gertons comment above re import / export happening automatically - seriously? Since when did that become a good idea? I have a 'private' version of my repository for a reason - not for Uniface to 'auto-sync' with the mothership. I chose when I want to sync - or not as the case might be....  

    Oops, I didn't see that. ThanX Knut to point out. Gerton, are you sure you will drop import and export possibilities from UF10?Yell Sorry, but we have to "synchronise" between different environment even with different UnifAce versions. The synchronisation take place whenever we want to do so and not if UnifAce think it's the time to do so. So how to work with different (UnifAce-)environments when there is only one "mothership" (TM Knut) Ingo


    Author: istiller (i2stiller@gmx.de)
  6. Knut said ... However, when there is such a LARGE existing developer base, many with 1000's of components, 1000's of entities (and add sub entites to that) - one would expect certain functionality to be present from day one. Chief amongst them - the ability to search and filter objects, additional menu items, meta dictionary access amongst others. ...  

    Just to reinforce Knut sentence I made some select count(*) from Urepo entities at main customer site I am currently working with: UCSCH: 114 UCGROUP: 3585 UCFIELD: 63181 ULIBR: 25 USOURCE: 4414 USSPEC: 5311 UFORM: 4974 UXGROUP: 35770 UXFIELD: 134347 BTW: This is NOT the largest Urepo I am working with! I would like to add one point to this discussion: U9 subsystems not migrating to U10 projects. Probably not so many customers have splitted their applications into subsystems but if a small part of them have done it why not migrating their (huge) effort to the new Uniface version? Gianni


    Author: gianni (gianni.sandigliano@unifacesolutions.com)
  7. About the scalability/size of customer apps in development, we know this and it is something that is currently being addressed within the labs. The areas we are focusing on are the speed of displaying the lists as well as ways of being able to narrow the selection. As a side note, it is the main UDOs (forms, entities, included libraries, snippet libraries and startup shells) where the list is currently not being limited - fields are limited by their entity and the same with items on components. A little more information about Import/Export in version 10 and work area support 

    • The Import and Export screens are still in v10 and available from the burger menu
    • Each Main UDO (Uniface development object) can be exported from its own Actions menu
    • Project exports can be just the project links as well as also being able to include the UDOs they reference
    • It is possible to copy and paste from one v10 environment to another of the same version
    • Work area support is a different kind of export and runs in parallel with the standard one
    We are interested in what the common usages for the Actions menu are? I can see from this thread that "compile all components with an entity painted" and "link to version control" are already mentioned. I suspect these are quite common usages. We do plan on implementing a replacement of the additional menu in version 10. We would also like to reduce the need for the same work being repeated by many customers.
     

    Author: Mike Taylor (michael.taylor@uniface.com)
  8. Hi Mike, what I've seen implemented up to now in Additional Menus are usually 2 types of functionalities: - Documentation from URepo - Change management support First item is strictly related to specific templates saved into comment field of various URepo entities and updated over time from programmers. Second item is including: - Changing field structure: where field is picted on paint tableau - Changing field structure: where field used into code - Changing entity structure: where entity is used with one or more fields into paint tableau - Changing entity structure: where entity is just picted with no fields into paint tableau - Changing entity structure: where entity is used into code - Changing entity structure: existing data migration with new fields initialization - Changing relationship: where it is used on paint tableu as frame within frame - Checking relationship consistency - Moving entity from one model to another: updating consequently URepo - Searching constant string into code and labels changing it to $text() to go multilanguage There is also a third category but I've seen it applied only once and it is related to software consistency/quality. A functionality I remember is: Common code usage pattern recognition Hope it helps. Gianni


    Author: gianni (gianni.sandigliano@unifacesolutions.com)
  9. Hi Mike, You mentioned "As a side note, it is the main UDOs (forms, entities, included libraries, snippet libraries and startup shells) where the list is currently not being limited - fields are limited by their entity and the same with items on components." If I'd like to add an entity to the form painter.... I get the full list of all entities (all 1000+ entities). As an added question to previously asked questions - where / how do I get access to the component listing? As in the compiled ProcScript listing for all objects on my component? I can see it in my project folder - alas - I don't seem to be able to find it from within the IDE. Regards, Knut


    Author: Knut (knut.dybendahl@gmail.com)
  10. Gianni, Thanks for the information. It sounds like the first item is something fairly specific for the customer, the second sounds like it mainly consists of extensions to global search. Would you agree with this? BTW. Moving an entity to another "model" is much easier in v10. @Knut, We are bundling the Main Development Objects resource browser panes in with the picklists. The plan is that these two lists will be handled in the same way. Under the hood, there is a lot of shared functionality between the two.  Text file editing is not in v10 for the time being. When the ability to open the listings files returns to Uniface it should not, as it is in v9, be limited to just components; it should be consistent for all the listing files that are generated.  


    Author: Mike Taylor (michael.taylor@uniface.com)
  11. Mike, Tounge in cheek here - this is one reason we'd like the "Additional" menu back...CoolCool Knut


    Author: Knut (knut.dybendahl@gmail.com)
  12. I'm happy that there is a lot of comments on this topic. I also want to add we have a menu item in the addional menu thats add some standard comment's on new operation. So we have on all operations some documentation. Then we have created a small program who collects all the operations and the documentation. So we can search for an existing operation and see the needed parameters and documentation.   We already deactivated the automatic retrieval of forms / services in Uniface 9.7. Is to slow, why not using the uniface stepped hitlist in the 'open form', 'open service',... screen.


    Author: Stijn Courtheyn (stijn.courtheyn@xperthis.be)
  13. Indeed adding standard comments to an operation is another good use case for the Additional menu in v9. In v10 it may be easier to create a snippet for the comment block or even a skeleton for the operation as a whole. We are currently investigating several good options for enhancing the picklists.


    Author: Mike Taylor (michael.taylor@uniface.com)
  14. Hi Mike, why the Additional Menu is taken away (just like CIF etc.) after all these years where customers used this option for different tools to make their work with the tool uniface more efficient. I have seen (and developed) support tools like code generators etc. connected to the object under editing; which use the metadictionary as well to see what objects are available. I think U10 should keep the obligations set by U5 to U9 and provide additional supporting features. In all the development environments i know (eclipse as an example), the users have lots of ways to add their own support to the developemt as keystrokes, menues, add-ons, plug-ins etc.


    Author: ulrich-merkel (ulrichmerkel@web.de)
  15. Hi Uli, It is less taken away and more, not been included yet. The IDE is a new product from the ground up and we have a list of continued enhancements and features we would like to add to it. We can see from this thread and other conversations, that this is a hot topic within the community. Unfortunately, it is not something that is currently available in the IDE. Extensibility of the v10 development environment, including the functionality of the Additional menu offered in v9, is an area we are very interested in. In the coming releases, we will be looking at how the environment can be enhanced in this area.


    Author: Mike Taylor (michael.taylor@uniface.com)
  16. Hi Mike, thanks for your lines so it is hope there. At the very end, for the existing "power-"customers who build their productivity boosters as extensions into the IDF, loosing this option may stop them to leave the U9. I have written a couple of extensions and one of the beauties of ADDITIONAL is that you can interact with the active form. As an example for the DUR enhacement, I can request the formname in UUXETN22 and pass this info to a generator for the dITo Uniface Reflection package (to process the 2-pass compile). And in 2008, I presented the german usergroup an IDF integrated todo form which directly opened paint-tableau and code editor. It's a lot one can do that the tool uniface fits in the way one seems to compete with the daiy-to-day workload best. BTW: it would be nice if the "Model Exchange" could make it to the U10 as well. It's a great tool for bulk updates in datamodels, as they change only fields which are included in the CIF script providing a default for unmentioned ones on new occurences. Best Greetings from Frankfurt/Germany, Uli


    Author: ulrich-merkel (ulrichmerkel@web.de)
  17. Is there already some changes done for the menu additional in U10? Is the global actions still available? Can we add menu items?


    Author: Stijn Courtheyn (stijn.courtheyn@xperthis.be)
  18. Additional Menu - this has not been added (yet) to u10. But it will return in one form or another.  Global Actions - Depends on exactly what actions you are referring to, but a lot are available through the IDE anyhow.  We've talked about this at a number of user events, mainly in the context of the changed repository, and that we would prefer to create API's that go through the 'controller layer' of the u10 IDE and into (and out of) the repository database. The thinking being that at an API level, we will maintain them, and therefore any tools or utilities that are built will be upwards compatible and not be broken if the repository changes in the future. (although we've tried to have as much foresight as possible with the u10.3 changes).  We understand that any 'use interface' to such API's would need some kind of 'hook' to integrate them into the IDE. But if it should be as simple as an additional menu or something more 'plugin like' we've not yet got to.  We will be taking some input on this in the future, some of the reasons to extend the development environment no longer exist with the u10 IDE, and we'll want to understand what the remaining requirements are. 


    Author: Adrian Gosbell (adrian.gosbell@synapse-i.jp)
  19. Global actions: to quickly remove form and signature (or service and signature) since deleting the form or service via the editor doesn't remove the signature (already made a call for this) Extending the IDE: To add some standard structured comments to operations (we have another form that exports all of this to create a API description library of all the operations in forms and services) To make the xml and lst file (something like listing, but we created it our self) and add it to Team Foundation Server (version control) and the internal ticketing system A screen to search very easy where some entity is used (painted) in a service, report, form, dsp,...


    Author: Stijn Courtheyn (stijn.courtheyn@xperthis.be)
  20. Something to compile all the programs modified recently, or all the programs affected by the changes to the model, include files etc.  Our copy also exports these programs to synchronise testing with development. 


    Author: Iain Sharp (i.sharp@pcisystems.co.uk)
  21. Deleting a component is kind of nightmare. One has to delete the component (in IDE), delete the signature (in IDE), delete the lst file (listing), delete the compiled component (file in the resources directory) and delete the compiled signature (file in the resources directory). That's what we do when we need to delete a component. This should be automated... just deleting a component is very tricky (since the compiled component and signature still exists, it still works in an application).


    Author: sochaz (zdenek.socha@fullsys.cz)
  22. As for additional menu... one of the most used feature is our own viewer of all changes done. This works upon almost anything... I open a form, see the code and I suspect something wrong... I just open our viewer and see who and when changed what in the component. The same applies to global procedures etc... Another use of additional menu in IDE is... on shared repository, someone locks the component - I can find out who, when and where locked it.


    Author: sochaz (zdenek.socha@fullsys.cz)
  23. From the early 1990s, the real benefit of the additional menu was that you could "inject" functionality to the active IDF form. So the additional menue gives you direct access to the "object under processing" To boost productivity of the idf.exe, a lot of tools (in the 1990s we had commercial ones like CodeInspector)  used things like: if $formname = "UUCONC22" ; check you edit a component call show_forminfo(ulabel.uform) endif I really wonder why you think uniface can provide the same usability when dropping the Additional Menu in the first place


    Author: ulrich-merkel (ulrichmerkel@web.de)
  24. I think that when there is no 'additional menu' in U10, many companies will stay with U9. For us it is a big issue, we cannot migrate to U10 until there is some way to integrate the own created forms and hooks This should be a top priority for Uniface I think


    Author: Stijn Courtheyn (stijn.courtheyn@xperthis.be)