|Home » Learning Curve » ACP Guru
It's intuitive. That's the idea.
This is the ACP info sheet. It's found anywhere there's a semblance of file management.
There are four fields there that are editable. They're Mode, Owner, Flags, Group - in that order.
What's very important is this info doesn't get børked because one field won't change. The ACP Framework uses a 'rollback system'. All initial values are saved before the sheet appears; when saving changes - as you accept all four fields or none of them and for other obvious reasons as well - the changes are handled in the following order - and if there should be any user botch then focus (a blue focus rectangle) will be on the field that caused the error after the alert panel is dismissed.
- Check that single user reset flags are approved. If not then return immediately.
- Get the mode. Clear the flags first if you can.
- If there are any flags and if you can't clear them then make the call to restore them and then bail out. This is the first part of a bailout that continues below. The flags must be cleared to allow other changes and applied again only if/when the other changes have succeeded in taking effect.
- Follow through and restore the initial mode and ownership (both owner and group). These are the final parts of the bailout that began above. It's used as the path out by all exit branches.
- Try to change the mode. If this can't be done then route into the above bailout.
- Try to get the ID for the textual representation of the owner. If it doesn't translate then route into the bailout.
- Try to get the ID for the textual representation of the group. If it doesn't translate then route into the bailout.
- Now try to change the flags. It if doesn't work then route into the bailout.
- You're home free if you get this far.
It's important for users to know their fates aren't left the way other well known vendors would leave them. (In chaos in other words.) Merely wondering 'what happens if I change the group but something else børks - do I have to go back and reverse the group change' and so forth - to even see this you'd have to refresh the main view or invoke the info sheet again.
And users might not understand the info sheet info is always 'fresh' - it's not taken from the file listing. It's always straight from disk.
If something can't be changed then nothing is changed. Period.
Xfile Test Drive
ACP: Xfile System
Xstat: Complete Control