OpenOffice.org Base Switchboard

Provider:
Roberto Benitez
Maintainer:
rbenitez22
Rating:
4
Average: 4 (11 votes)
Application:
Base
Tags:
menu, , openoffice.org, , base, , switchboard, , Switch, , Board, , form menu, , access, , access switchboard, , openoffice.org base, , openoffice.org, base, switchboard,
Screenshots:
http://www.baseprogramming.com/Extensions/SwitchBoard.png
Post date:
Tuesday, 7 October, 2008 - 10:59
Statistics
Week: 102 - Month: 411 - Year: 7,228 - Timeline
Download extension
System Independent version - All releases
Compatible with OpenOffice 4: Unknown
User feedback:
Compatible with OpenOffice 4.x?

The Switchboard extension generates a Switchboard/Main Menu interface to access Base forms and reports. The switchboard can be grouped into categories, each of which can contain any number of menu entries. Furthermore, you can specify the size and screen location of the form to be opened.

The generators creates three database objects.

1)The SWITCHBOARD table which has some basic information about the switchboard such as size and location of main form as well as size and positioning of menu entries.
2)The SWITCHBOARDITEMS table which has the menu entries configuration information.
3)The SWITCHBOARD form. This is a blank form generated by the wizard, and is populated with the menu entries. This form document can be modified by the user—keeping in mind that the menu entries need to be positioned at runtime.

All these items are generated automatically when the extension main hook is launched, and that database document does not have said objects. The main hook can be accessed through the Tools | Add-ons | OpenOffice.org Base Switchboard menu option. The extension can only be opened from a Registered Base document.

Currently, there are four types of menu entries that can be generated. Forms, Reports, Switchboards, and Switchboard Links. The Form and Report entries open a form or report, respectively. At runtime, the difference between a Switchboard and Switchboard Link is trivial. A Switchboard is an entry that appears as the parent of other entries (a menu). A Switchboard Link is an entry that links to another Switchboard menu—but does not have entries; this is usefully to get back to another menu (such as main menu) from an entry that may be nested somewhere down the hierarchy.

A Database form or report need not be located in the database where the Switchboard is located. This feature makes it possible to have a main switchboard that gives access to forms and reports from any number of databases.

Here is a sample Switchboard with icons.



NOTE:Icons used in samples and Extension Menu entry are owned by dryicons.com

OpenOffice.org Base Switchboard

Version Operating system Compatibility Release date
1.2.0 System Independent 3.4 14/07/2010 - 22:01 More information Download
1.1.0 System Independent 3.4 27/10/2009 - 23:09 More information Download
1.0.8 System Independent 3.4 10/06/2009 - 22:12 More information Download
1.0.7 System Independent 3.4 31/03/2009 - 17:39 More information Download
1.0.6 System Independent 3.4 21/01/2009 - 22:08 More information Download
1.0.5 System Independent 3.4 14/12/2008 - 18:06 More information Download
1.0.4 System Independent 3.4 15/11/2008 - 18:12 More information Download
1.0.3 System Independent 3.4 13/11/2008 - 22:38 More information Download
1.0.2 System Independent 3.4 11/11/2008 - 22:31 More information Download
1.0.0 System Independent 3.4 07/10/2008 - 11:06 More information Download

Comments

I have a question regarding the scrollbar on Switchboard.

I know you can disable the scrollbar in ooo writer options, but then it is disabled for all documents!

Is it possible to disable it for the switchboard form only without affecting other documents - I just want a plain dialog for my main menu.

I have not tried it, but may work if you remove it when the form loads/opens and add it back when it unloads/closes.

Hi Roberto,

I want to run switchboard from the desktop without the main application window.

I have saved the switchboard form to a file, then changed properties in the saved form to set the database.

However when I open the switchboard form I get "Unknown error occurred while loading Switchboard form document."

Can Switchboard be run in this way?

I have tried to use 'Switchboard'. I have gone through the configuration, but when I double click on the SWITCHBOARD form it is blank. What am I doing wrong? Any help would be appreciated. I'm using OpenOffice 3.3.0

Were the tables generated (SWITCHBOARD/SWITCHBOARDITEMS)? When you open those tables, after having created your menu items by using the dialog, are items entered into these tables?

Hi! I'm using OpenOffice Base 3.3 with Vista. I downloaded the extension into my registered database, opened Tools/Extensions, activated Switchboard, filled out the Main Menu and some submenus, saved and closed, but got a blank form.
The tables and form showed okay with appropriate data, but nothing on the form.
Deleted the tables and form, reloaded (even downloaded the extension again for good measure), went through the process, but still the same result.

Any suggestions?

The extension seems like a great add-on. I would really like to get it going.

Thanks for the help.

This extension appears to be pretty useful, but I have a couple of concerns with respect to portability:

  • It's not clear what the effect of creating a switchboard will be. Specifically I don't understand if it's possible to create for a Base document a switchboard which will then be used whenever that document is opened, on whatever openoffice install. Are the switchboards portable, or is it required to have the Switchboard extension installed in order to use a document's switchboard?
  • I tried to create one, using Tools>>Add-ons>>Switchboard, but got a message explaining that the database needs to be registered. I'd like for people to be able to use this Base document without having to register its database; is it possible for Switchboard to work with an unregistered database?

A very useful extension to Base, thank you.

However, I should like to put a Quit button on the form rather than the user having to clcik on the close window x. Is there a simple way to do that?

Roberto, many thanks for a great add-on to Base. This db program is pretty hard to work with as it is and it doesn't seem to have many developers available to really help it move forward, however with your add-on/extension this really helps a lot. Am using OOo Build 3.2.1.

i've got a couple of questions...

1.) i've bound the utils.switchboard to Open Document but when i open the db i get "An error occured while opening the form [ ]"

2.) The Switchboard doesn't seem to have any "Main Title". Am i missing something here? Is there some way of adding it? When i try to edit the Switchboard Form itself, there is nothing to edit, so i suppose that all is generated at runtime.

3.) What might be the process to download and install different icons?

Hope the above is not too much and again -- thanks for such a great add-on and

have a great afternoon! :)

Hi,

Is utils.autoexec the right macro to use in order to start SWITCHBOARD when the BASE is loaded ?
Thanks.

Hi,

I was not able to create sub-menus without updating by myself the table SWITCHBOARDITEMS and create SWITCHBOARD items.
OOO 3.2.1
thanks for any help.

If I understand you correctly, You can create a menu entry on the first page/menu. Can you create a sub-page? or is it just the entries for your sub-pages that you cannot create?

What option are you selecting for your sub-page/sub-page items?

Hi,
I found : just double-clic on the name of switchboard once the item is created.
Thanks

Hi,
I can create menu entries at the first level, calling report, form, switchboard-link.
But I didn't find how to create a sub-page which will be called from the previous one as a switchboard.
(Version 1.2.0 + OOO 3.2.1)
Thanks for your help.

you want to create a 'switchboard' which is a sub-page or sorts. double click on this to select it and and items. Then, create a switchboard-link from another switchboard to link-back to it.

I am using ooBase 3.2 with an mySQL server. I get the following error when I initiate the Switchboard extension: Unknown error occurred while loading setting dialog. The Switchboard table and form get generated but there seems to be no SwitchboardItems table created. When I try to open the form I get "Unknown error occurred when loading Switchboard form document." Any help would be much appreciated.

Switchboard only works with native Base databases. A workaround I have suggested is to create an empty Base database with only the switchboard, and make all your menu options point to forms/reports in your Base file which connects to your MySQL database.

I'm having the same problem with Base-H2. With H2, I think the incompatibility is a lack of schema support with the Switchboard's DBNAME variable. It would need to support the following syntax: DB_FILENAME.SCHEMA_NAME.TableName where DB_FILENAME is determined by the Switchboard at runtime, such as: MYDB.PUBLIC.SWITCHBOARD. The SCHEMA_NAME might be PUBLIC only for ease, or perhaps a user input in design mode. I have successfully used the Switchboard with Base-HSQLDB "sever-mode" using the 'default_schema=true' switch in the Datasource URL. So everything seems to point toward schema support in the cases I've tested.

But I think I understand the workaround which involves a Base-HSQLDB .odb file for the Switchboard where the individual form and report links are setup to reference another .odb (or multiple .odb) which is setup for other RDBMS connection (H2, MySQL, etc). I'll have to try that, but is the source code available for individual modification, or do you think it's (non-HSQLDB schema) something you'd like to support natively?

Yes, it is a schema issue. For that reason I had initially created global variables to set the table names, such that they could be modified easily. However, along the way I completely forgot to include code to account for a non-default schema.

I started testing a while back, but have not converted my code to include a schema. Since the extension is a simple OpenOffice.or Basic Library, you can browse/edit the code at any time. NOTE: If you have installed the extension for all users, you may not be able to edit via the Basic IDE. Install it only for you so that you can edit with the Basic IDE.

I get an error message when I try to run the switchboard add-on:

Error. Could not create Switchboard Form. Error Message Is: [An exception ccured
Type: com.sun.lang.WrappedTargetException
Message: file:///C:/Documents%20and%20Settings/Usuario/Escritorio/Contabilidad/Contabilidad/odb
TargetException:
Type: com.sun.star.sdbc.SQLException
Message: The file "C:\Documents and Settings\Ususario\Escritorio\Contabilidad\Contabilidad.odb" does not exist..; on line [49]].

I am running XP in Spanish, and OOo Base in English. There is no trouble setting up a switchboard when I open a new database. I really don't want to have to drag and drop all of my tables and queries and forms and then re-set all of the relationships, primary keys, etc.

It is very difficult for me to understand the Swedish (? or Danish) words! Please correct it (there is no english info). For example the title is "Onderligende Skakelbord Skepper" and the settings is written "Stellings"...
(but anyway thank you)

Cette extension Switchboard est une réponse intéressante à la demande des utilisateurs qui souhaitent utiliser la base sans avoir à entrer dans les objets. Il ne manque plus que la possibilité de lancer directement ce switchboard au démarrage.

C.fricard

Je ne parle pas français. sauf pour dire: je ne parle pas français. et cette déclaration à l'expliquer.

But I believe the question is: how to launch a form, such as the switchboard when Base opens.

In the OOo 3.1 this is alot easier. simply bind the code to open a form as usual to the [Open Document] Event of the Base document for which you want this behavoir. Tools -> Customize. Select the events tab.

This code works for me:

[code]
Sub AutoExec
On Error Goto HandleError
Dim FormDocs As Object
Dim DBDoc As Object
Dim DataSource As Object
Dim Conn As Object
Dim Args(1) As New com.sun.star.beans.PropertyValue
Dim FormName As String
Dim FormDoc As Object
Dim UserName As String
Dim Password As String

UserName="" : Password=""
DBDoc=ThisComponent
DataSource=DBDoc.DataSource
Conn=DataSource.getConnection(UserName,Password)

FormName="SWITCHBOARD"

FormDocs=DBDoc.FormDocuments
Args(0).Name="ActiveConnection" : Args(0).Value=Conn
If FormDocs.hasByName(FormName) Then
FormDoc=FormDocs.loadComponentFromURL(FormName,"_self",0,Args() )
'FormDoc.CurrentController.Frame.ContainerWindow.setFocus()
FormDoc.CurrentController.Frame.ComponentWindow.setFocus()
End If
HandleError:
If Err0 Then
MsgBox "An error occured while loading the form [ " & FormName & " ]"
Exit Sub
End If
End Sub
[code]

I will include this code in the extension in the next release.

Following from a post in one of the OOo forums in regards to menu entries disappearing from switchboard:

Not sure [b]exactly [/b]what the problem is, but can solved by refreshing the form document after the menu entries are generated. Not sure exactly what is happening, but seems that new elements (labels mainly) are placed on top of existing ones until they are repositioned--that is the behavior i see when I pause between each menu entry, but could be wrong. or perhaps previous versions were refreshing automatically.

FOR NOW, YOU CAN FIX AS FOLLOWS (until I find a few minutes to upload a new release):

1) Open the [b]Switchboard [/b]Basic library.
2) open the module named [b]Runtime[/b]
3) at the end of the function named [i]Function loadMenu(MenuId As Integer,FormDoc As Object, Form As Object) As Boolean[/i] add the following line of code

[code]
FormDoc.refresh()
[/code]

Can go right after the While loop

I noted that Sub Menues/Categories are not rendered in the latest version. It seems I accidentally removed a function call which resulted in a field getting incorrect data (Tisk ^ 2). I am currently waiting on confirmation for a few language translations. As soon as I get those, I will re-package it and submit the bug fix and languages.

The switch board does not work if I have an Access DB. Any help will be greatly appreciated. I get an error that it can not create the tables. If I create it manually then I get to the switchboard settings but I can not save nor I can add items to it.

Javier

The problem seems to be with the data type names from access not being recognized by the MetaData Service. Currently the extension relies on the column's data type name to determine which updateXXX(...) and getXXX(...) method to use when fetching/updating column values. if it cannot detrmine the data type name, it fails to update. at this point the updater returns and the insert function tries to commit a blank insert buffer. Short story: inserts cannot be made.

A workaround is to create a blank Base db with only the switchboard. Make all the buttons point/open forms/reports in your Base doc that connects to the access db.

In the mean time, I will try to figure out a different way to detrmine which ?XXX(...) methods to use.

There was a bug I thought I had fixed on version 1.0.3, but was still there in some OOo installations--the configuration dialog opened with a size much smaller than the actual settings. This should hopefully be fixed now. Should the error persist, double-click anywhere on the dialog to expand. If nothing happens, you may be clicking on a label which happens to have a transparent back ground. If there is no dialog area that is not covered by a label, you can also double click on the white area at the top-left corner. Continue to double-click until the dialog is the desired size.

If you are interested in translating the GUI, please fill out this form and email it back to me. I figured out how to change font size, as the default font size in Base 3.0 forms appears to be quite small. I will make this correction soon and upload new release.

Click here for a brief documentation of the Switchboard Extenstion