Open UI

Question:  I am considering switching to Open UI after my 2.13 upgrade. I have visited the OpenUi site, and understand the concept, but there was little explaining the practical details. I am currently using a heavily modified mmui.mv , and am curious about the implementation of my changes on the openui.mv .  Are my code changes, in say my product_display function, done in one of the hooks? etc..
Is there a site with more detailed info on open ui?

Answer: Did you read thru the "Getting Started" guide on the OpenUI site? Basically, your code changes would reside in one or more hook points in one (or possibly more) extension modules. There also are numerous sample files you can download (all in one zip) that give practical (and usefull) examples. The sample zip is also on the download page.

Answered by Darren Ehlers  http://www.starbase21.com/

Question: If I want to make changes to the top navigation bar (add more links, buttons, etc) do I make the changes to the oui_bes.mv file?

Answer: Imagine Merchant with a Shipping Module interface. Everytime you wanted shipping different, instead of writing a shipping module, you would actually have to modify merchant.mv. Of course, when you modify merchant.mv, anytime Miva would release a new version you'd have quite a job ahead of you. This is why Miva instead wrote a shipping module interface. 
Now, how does this relate to the OpenUI? The OpenUI adds a "module" interface to the UI. This means you can write your own UI Extension modules that "hook" into the OpenUI files but don't force you to modify the OpenUI source. It basically does with the UI module the same thing that Miva did with the current modules interface.

Answered by Darren Ehlers @  http://www.starbase21.com/

Question:  Is there a way to remove the references to the Shipping Weight that appears on the screen after the initial thumbnail of a product?


Answer:
  In the oui_samples.zip from the OpenUI website, there is a free extension
module that will remove the shipping weight.

As for the problems with the catcolumns.mv, this sounds like a bug that
we'll be happy to fix. Do you have a URL where I can see specifically what
you are looking at?


Answered by Darren Ehlers @  http://www.starbase21.com/

Question:  I've been toying with the oui_bes.mv module lately, with some success.  However, whenever I add a new table beneath the top navigation bar,  EVERYTHING gets fouled up. With MMUI, I had the store hugging the top left hand corner of the screen, with 0 margins. I can't even begin to fathom where to set the margins on the openui.

Answer:  If you are making changes to the oui_bes.mv file, you are defeating the
purpose of the OpenUI and will gain ZERO benefit from it.

You MUST author modules to extend the OpenUI and keep your enhancements
independant of OpenUI updates.

If indeed you were modifying the oui_bes, the first step would be to reread
the docs a few times. Look at the code samples.

The 2nd step would be to differentiate between the code you desire and the
code that is generated by the oui_bes.mv file on a hook by hook basis.
Overide, insert, enhance as necessary.
 
Answered by Darren Ehlers @  http://www.starbase21.com

Question: What exactly do the function returns (meaning wise) ... from what I gather when you return a value other than 0 it tells it to skip to that hook and when you return 0 it tells openui to do what?

Answer:
The return value is dependent upon what style of extension you are using.

If you are using the old '+' style hook, then the return value is 1 for
okay, or else a negative number specifying the number of hook points to
supress the HTML output between.

If you are using the new, preferred '*' style hook (as in the sample), then
the return value is 0 for okay, or a positive number which specifies the
hook point to supress the HTML output until.

Answered by Darren Ehlers @  http://www.starbase21.com

Question:  I was wondering, if a OUI subfile has say 55 hook points, and I only want to modify the first one, is it necessary to put a + followed by 54 - signs in the extension module? i.e. OUI_Register_Extension(l.modcode, 11,

'+------------------------------------------------------')

Or can it just be:
OUI_Register_Extension(l.modcode, 11,
'+')

Answer: No, you can stop at the last +

And, as a helper I put a comment line before the call so I can line the +'s
up. Like this: (fill in and space as necessary)

<MvCOMMENT> 00000000011111111112222222222...
12345678901234567890123456789... </MvCOMMENT>
<MvDO ... '---+--+---------------------------------+') }">

Answered by Jeff Bogatay

Question:   Where can I obtain a "Forced Login" module?

Answer: For the OpenUI, a forced login module written by Adam Denning is now available for free download at http://www.designextend.com

The module is provided as freeware.

Answered by Pamela @ DesignExtend

Question:  When does it begin to start replacing code and stop replacing code? If I do a * for tags 5 through 10, does it start at 5 and go until 10
and stop or does it also replace 10 and effectively stop at 11?

Answer:
Keep in mind it does not "replace code". It simply supresses the HTML that USUALLY gets generated. The newer modules never execute the output and hide it from the resulting HTML doc. The older modules just put HTML comments around the supressed code.

If you want to supress output from tags 5 -> 10 you would hook into tag #5 with a '*' type hook. Then at the end of your hook code, you would put a <MVFUNCTIONRETURN VALUE=10>. The function return value controls supression.

Answered by Jeff Bogatay

Question:  I installed OPENUI, checked it out, and then switched back to my old layout. When I tried to add a category, I received a FATAL ERROR
Error Code: MER-OUI_OCS-00001
Description: Error opening 'Merchant2/00000001/oui/ouistor.dbf': No such  file or directory
 I backed up everything before I added OPENUI. Can anyone  help me figure out what to replace to get things back in order?

Answer : You can't just switch back and forth between the OUI and MMUI (or vice versa) without first exporting and then importing the data using uiexport.mv and uiimport.mv. This process needs to be done EVERYTIME one switches between one Look & Feel and another. Hope this helps you in the future.

Answered by René Bilodeau @ (SB-21 Programmer)

Question:  What is Miva's position on Open UI?

Answer: Miva Corporation does not have any official stance on Open User Interface (OUI). It is a 3rd party module, like any other outside-developed module. Although, it is agreed to that OUI has been of great help to those end-users and developers that have the need to make changes source code of a Miva Merchant user interface.

We are though, at this time, about to institute a beta program to allow 3rd
party developers to receive advanced copies of our software for testing and development-usage. At this time though, there are no specifics available.

Hope this answers your question clearly! If not, feel free to reply. :-)

Answered by: Jeremy  @ Miva Technical Support