Quick Preferences settings – It would be nice if Designer would remember my Quick Preference settings or if I could change the default settings. I use Anchored Layout and sometimes forget to change the layout when I first run Designer.
Binding – Would it be possible to add the ability to call a Jython script from a binding property?
Client Updates – It would be nice if I could ‘publish’ updates to the Clients. This would allow me to make changes to the application and allow the Clients to receive the changes after I had completed all the changes.
lookup function – It would be nice to be able to use strings for the LookupColumn and ResultColumn values. This would prevent problems in the event the dataset was changed in any way.
Documentation – Lookup function should state that the return value data type is based on the NoMatchValue data type.
Documentation – Under Data Types the Double data type is defined as ‘A Short is a 64 bit floating-point number.’
Gateway Authentication Profile – The Hash Function doesn’t save when first Updated, you have to go back and Update a second time to get the Hash Function to save.
This is in the works (definately for 3.0, maybe for the 2.2.?)
This is already implemented for 3.0 (there is a runScript() expression function in 3.0)
I'm not sure I understand - you do 'publish' updates to the clients - every time you save! You want to block these automatic updates until you are done a series of updates? If this is the case, it is something we can take under consideration. Maybe you work on a copy of the project, and latch your changes into the main project when you're done? (You can't currently do this, I'm just proposing a possible implementation of the feature)
Binding – DB Browse. It would be nice if the auto generated Update statement placed single quotes around {this} when trying to bind to a VARCHAR column. Currently you can’t use the DB Browse to update a VARCHAR column, you need to use the SQL Query instead.
Pat -
I’m not sure I totally understood your last issue from the first post. You mean when you’re creating a DB-based authentication profile, it doesn’t “save” the hash function when you’re first creating the profile? I think you’re using “auto-create” mode, which does ignore all other fields in that screen (like it says…). I tried it on Manual creation, and the hash function “stuck”
Carl –
You are right on track. Auto-create does ignore all the other fields which explains why I had to go back and enter the hash function after the profile was created.
I am currently creating a PASSWORD reset dialog box, where a user can put in his username and answer a security question to RESET his password to a DEFAULT password. Then, once logged in, he can change it to what he wants. I have this working WITHOUT the security question at the moment. My problem now is that when the security question was created, I used a hash function to encrypt the security ANSWER. Is there anyway to do a CHECK that will allow me to compare the USERS input against ENCRYPTED data???
Well, I don’t have much info to code from, but assuming you’re using MySQL’s MD5 function and taking liberties with what might be the format in which you’ve stored the security question answers:
userAnswer = event.source.parent.getComponent("AnswerTextBox")
userName = fpmi.security.getUsername()
affected = fpmi.db.runPrepStmt("UPDATE StoredAnswers SET Username=Username WHERE Username=? AND MD5(?)=CorrectAnswerHash", [userName, userAnswer])
if affected==0:
fpmi.gui.warningBox("Incorrect answer")
else:
fpmi.gui.messageBox("You got it!")
This logic uses a bit of a trick. It issues an UPDATE query that does nothing (setting username=username), and checks how many rows it modified. If it is zero, the answer didn’t match, otherwise it did.