Cleanup Old Signatures | Uniface 9 | Forum

Avatar

Please consider registering
guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

—  Results per page  —








— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters
For a group of consecutive words like 'end of support' use Match phrase

sp_Feed Topic RSS sp_TopicIcon
Cleanup Old Signatures
03 Jun 2014
1:28 am
Avatar
Colin
Member
Forum Posts: 29
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Hello Everyone,

How do I cleanup the signatures from uniface components that have been removed?

Thanks,

Col Douglass

03 Jun 2014
8:27 am
Avatar
Iain Sharp
Member
Forum Posts: 585
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

One way is to sort the signature list by clicking on the column header for the icon column on the very left. 

You will then find it sorts all the signatures with no implementation together. Unfortunately, they are about two thirds of the way down the page. 

I don’t believe there is any useful command line to get rid of signatures for removed components easily. 

03 Jun 2014
10:19 am
Avatar
Theo Neeskens
Member
Forum Posts: 327
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Hi,

I have made little tool that helps you find and delete signatures without implementation.

Code reviews, comments etc are welcome !

http://unifaceinfo.com/wp-cont…..gclean.zip

03 Jun 2014
1:51 pm
Avatar
Knut
Member
Forum Posts: 162
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Uniface lab;  delete component ==> delete signature??  Wink

04 Jun 2014
8:28 am
Avatar
Iain Sharp
Member
Forum Posts: 585
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Ummm, what? I can’t find a delete signature anywhere in version 9.5 (Except of course the signature editor, but it’s a total pain to try and find unimplemented signatures in there, hence Theo’s code (which looks good)).

04 Jun 2014
1:09 pm
Avatar
Knut
Member
Forum Posts: 162
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Sorry – only sayin… 

When I delete a UF component in IDF – since UF manages to remove UFORM and
all associated child records then it shouldn’t really be too hard to
kill the signature / operations too?

04 Jun 2014
2:02 pm
Avatar
Iain Sharp
Member
Forum Posts: 585
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Yes, I’ve never really understood why they remain behind. 

04 Jun 2014
2:50 pm
Avatar
diseli
Admin
Forum Posts: 711
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

KnutD said
Uniface lab;  delete component ==> delete signature??  Wink

This functionality is already implemented. Laugh

In case a component is deleted with the Component Integration Editor (menu Editors > Component Integration) then both component and signature are automatically deleted. Cool

Therefore: the Component Editor is for deleting components, the Signature Editor is for deleting signatures, and the Component Integration Editor is for deleting both. Makes sense, or not?Wink

Please forgive my irony… Smile

04 Jun 2014
3:07 pm
Avatar
Iain Sharp
Member
Forum Posts: 585
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Except that the component integration editor takes something like 20 minutes to synchronise the diagram every time I go into it, and I haven’t the time to wait to then find and delete a single form. It is actively hundreds of time faster to delete them both independantly. Confused

Except that where you forget you are then left with useless tag ends of signatures which complain they aren’t implemented on the compile. Cry

All in all, the fact that they have a separate but not independent existance is mostly annoying…. Yell

04 Jun 2014
10:28 pm
Avatar
Knut
Member
Forum Posts: 162
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

diseli said

KnutD said
Uniface lab;  delete component ==> delete signature??  Wink

This functionality is already implemented. Laugh

In case a component is deleted with the Component Integration Editor (menu Editors > Component Integration) then both component and signature are automatically deleted. Cool

Therefore: the Component Editor is for deleting components, the Signature Editor is for deleting signatures, and the Component Integration Editor is for deleting both. Makes sense, or not?Wink

Please forgive my irony… Smile

ahm….  Following that line of thinking….

Then I would need the Component Integration Editor to create the UF signatures….. yet I don’t….

When I create a component in the Component Editor, UF creates (and compiles) the signatures automatically – it’s not something I have to worry about.

Conversely, when I delete a component in the Component Editor, UF does not delete the signatures automatically – therein lies the real irony Wink

Cool

06 Jun 2014
10:05 am
Avatar
diseli
Admin
Forum Posts: 711
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Ok, I probably should have added some <IRONY> tags in my last post. Wink

I of course also agree that the current functionality is certainly not ideal and it should be more consistent.

However…

KnutD said

ahm….  Following that line of thinking….

Then I would need the Component Integration Editor to create the UF signatures….. yet I don’t….

Yes, it does. When you create a new UF component in the Component Integration Editor (e.g. a form) then it will create both the component and the signature (without even compiling the component). Smile

KnutD said
When I create a component in the Component Editor, UF creates (and compiles) the signatures automatically – it’s not something I have to worry about.

Actually, the Compiler is creating the signature and not the Component Editor itself. Smile But I agree, this is not something you have to worry about.

KnutD said
Conversely, when I delete a component in the Component Editor, UF does not delete the signatures automatically – therein lies the real irony Wink

 <IRONY> So what you actually need is a signature un-compile option for the Compiler </IRONY> Wink

Ok, enough fun. Laugh

09 Jun 2014
8:52 am
Avatar
Iain Sharp
Member
Forum Posts: 585
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Or a method of starting the integration editor which doesn’t take twenty minutes “Synchronising….”

10 Jun 2014
5:25 am
Avatar
Colin
Member
Forum Posts: 29
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Theo Neeskens said
Hi,

I have made little tool that helps you find and delete signatures without implementation.

Code reviews, comments etc are welcome !

http://unifaceinfo.com/wp-cont…..gclean.zip

Hi Theo,

 

I used the tool you developed and it works fine.

One question though. It doesn’t do anything with tables USLINK and USILINK. Should it?

My data here has entries in both those tables referencing (using columns USLINK–>USPECNAMCAL and USILINK–>UIMPLNAMCAL) the removed component.

 

Thanks,

10 Jun 2014
8:15 am
Avatar
Theo Neeskens
Member
Forum Posts: 327
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Colin said
Hi Theo,

 

I used the tool you developed and it works fine.

One question though. It doesn’t do anything with tables USLINK and USILINK. Should it?

My data here has entries in both those tables referencing (using columns USLINK–>USPECNAMCAL and USILINK–>UIMPLNAMCAL) the removed component.

 

Thanks,

I probably missed those tables… Will investigate when I have some time and will update the tool when needed. Will post a reply in this thread when I know more.

08 Aug 2014
3:22 pm
Avatar
Theo Neeskens
Member
Forum Posts: 327
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Hi, it took me some time to do this but now I have updated the Signature Cleaner to include USLINK and USILINK.
I have replaced the download at: http://unifaceinfo.com/downloa…..e-cleaner/

 

Unfortunately it still won’t cleanup ALL unused signatures, because there is a bug in the Global Actions screen.
See this discussion:
http://unifaceinfo.com/forum/u…../#p6048442

09 Aug 2014
8:01 am
Avatar
ulrich-merkel
Frankfurt/Germany
Member
Forum Posts: 1672
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

From a customer point of view, I think it’s better to write a “component delete” form on our own, which deletes components including all connected occurences rather than try to remove half of the debris left over from the Global Actions.

Perhaps I will spend some time as a dITo project with some hints how these infos are collected and evaluated. If we create our own tool, we can have it now.

P.S. As the data model documentation can NOT be trusted, it takes some investigation at first which records are created when a new component is compiled. All of them should have the formname somewhere in the record, so it’s not too hard to find them, especially if we start with an empty repository at first.

11 Aug 2014
9:22 am
Avatar
Iain Sharp
Member
Forum Posts: 585
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Yeah, it’s that whole “I don’t know which entities the component code is stored in”, problem that would make me extremely wary of any home grown insert/delete on the model. 

For example, if your IDF does not use the cross reference data, then your investigation would not indicate the changes in here. Since the cross reference file is across many objects, finding the component name in the data may be a matter of luck. This would then allow for incorrect data in the IDF, which we have limited idea of the inherent data integrity requirements. 

I certainly would be reluctant to help one of my customers who came to me with “I wrote this routine to delete orders from the data and now the whole orders database is giving me the wrong calculations”, and I expect Uniface would be in much the same boat. 

The problem WE have as developers is that we have to learn to live with the shortcomings (not the bugs but the design ‘flaws’) for two more years until we can (Hopefully) get on the Version 10 bandwagon, and have some hope of influencing the ongoing development. Until then, I fear we are ‘tail end charlie’ on the development schedule. 

11 Aug 2014
3:26 pm
Avatar
ulrich-merkel
Frankfurt/Germany
Member
Forum Posts: 1672
Member Since:
01 Oct 2012
sp_UserOfflineSmall Offline

Just do it the dITo way and start with an empty repository.

 

create a new component “DITOFIND” with entity and fields etc., including compile.

go to the assembly workbench (wait until their part of data are created).

 

Now EXPORT all of the repository to myfind.exp

in the dosbox, use:

find /n “&lt;DSC ” myfind.exp &gt; myfind.entities

find /n “DITOFIND” myfind.exp &gt; myfind.formfields

 

It’s EASY

Forum Timezone: Europe/Amsterdam

Most Users Ever Online: 131

Currently Online: gapedtup, capedtup
18 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

ulrich-merkel: 1672

Iain Sharp: 585

Theo Neeskens: 327

rogerw: 218

gianni: 210

lalitpct: 194

istiller: 177

-GHAN-: 171

sochaz: 165

Knut: 162

Member Stats:

Guest Posters: 3

Members: 3224

Moderators: 0

Admins: 8

Forum Stats:

Groups: 1

Forums: 62

Topics: 1916

Posts: 8282

Newest Members:

farmaciaLar, NancybOrge, Angelweawl, jverdugocall, marian6Sueks, LeticiaHoadavecoaL, Numbymbosy, Brate, farmaciaMips, trezvyvoditel-Hapavankiva

Administrators: admin: 23, Adrian Gosbell: 263, diseli: 711, Bob Maier: 2, Nico Peereboom: 54, Michael Rabone: 4, richiet: 406, JanCees: 23