Groupware; does it work?

Startbeitrag von Frans am 22.04.2013 10:17

Hello to you all,

I have programmed a very simple menu rights solution in WD.
I am thinking about dropping this and using the build in groupware.
Does the groupware work well in WD17 for classic and HFCS?
Any does and don'ts?
Thanks in advance.


Hello Frans

Not sure about HFCS but it certainly works well in HF Classic. It is very granular so you can go down to field level. The problem - there's always a problem with Windev utilities - is that the interface is terrible and hard to understand, the coding is interesting and there is no hierarchy or the ability for a user to belong to multiple groups. I haven't touched it for quite a few years but I think there were some problems with the group windows but they may have been fixed. I am still rolling out windows from version 12 I think in V16 software.

The database design is quite primitive, I was surprised to find that a company that creates a database product as sophisticated as Windev would not use numeric primary keys, instead the user login name is used as the primary key in the user config and the group names are used as keys in the group config and so on. My philosophy has been to leave it alone and let it do its thing.

We normally provide a set of groups and settings to make it easy for clients and end up maintaining it for them - but changes are rare, most times they are happy to just shut off menu access which is very straightforward..

Apart from all that it does work, doesn't really cause any issues and is one less thing to worry about. We set it up in the Workshop section of the IDE as Default integration and Manual start

V18 promises a new interface and multiple groups so it could be interesting.

If you want to have a play, something like this in the project init will help

LPWRes is int = 0
LGPWPath is string=fCurrentDir+"\gpw_MyProj"
GUserID is string = ""
GUserGroupMember is string = ""
GSuperVisor is boolean = False
GUserName is string = ""
// Check the file existence
IF fFileExist(CompleteDir(LGPWPath)+"GPWUSER.FIC") = False
Info("User Files cannot be found please contact support")
END //IF fFileExist(CompleteDir(LGPWPath)+"GPWUSER.FIC") = False

LPWRes = gpwOpen(LGPWPath,LGPWPath)
// if the login failed
CASE gpwError : Error("Error while initializing groupware.")
CASE gpwInvalidPassword : Error("Invalid password")
CASE gpwUnknownUser : Error("Unkown user in group files")
GUserID = gpwGetUserInfo(gpwInfoLogin)
GSuperVisor = False
GUserName = gpwGetUserInfo(gpwInfoName)
IF gpwGetUserInfo(gpwInfoGroup) = gpwSupervisor
GSuperVisor = True
GUserName = "SUPERVISOR" // the gpwGetUserInfo(gpwInfoName) functions do not return a value for the supervisor login
GUserGroupMember = gpwGetUserInfo(gpwInfoGroup)


von Al - am 22.04.2013 12:00
Hello All,

Thanks again for your extensive explanation.
I wil give it a try experiment give this to a few users and wait for their reaction.
For the other users I will wait for the version 18.

von Frans - am 22.04.2013 17:06
Hi Frans. I was issuing WD groupware and it works fine for me. Nothing too complicated of course, but it does do the job I'd say it's very useful for little sized apps (maybe some medium sized ones...)

It's really easy to use (as a developer.) I guess you always can replace it (later) for your own groupware. The first time I've used it, it didn't work because of some compilation errors. I don't remember which errors but they were easy to fix.


von RAUL2 - am 22.04.2013 21:50
Zur Information: hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.