Technical Manual
Contents
|
ofbizNeogia
base
data
conf
This folder contains examples of alternative configurations for Neogia. You can enable one these alternative configurations by setting ofbiz.neogia.site.conf property in site.properties file in ofbizNeogia folder.
Example of site.properties :
ofbiz.neogia.site.conf=conf/postgresql-8.0
portplus1
OfbizNeogia Configuration Example showing how to launch two instances on a same engine
postgresql-8.0
OfbizNeogia Configuration Example showing how to use Postgresql as database
site
logs
orb.db
framework
This directory contains all OfbizNeogia technical components.
appserver
catalina
common
Common Decorator
Special field
- permissionCompoSpecific
- use to define a specific Permission other than the ComponentPermission
- permissionActionSpecific
- use to define a specific Permission action other than _ADMIN
How to use ApplicationLog
How to edit - add - remove Enumeration of a specific Type
Menu Management
Engine Mail Notification
datafile
entity
entityext
example
guiapp
images
- CSS and picto : CSS and pictogramme conventions
jetty
Light servlet Container
jotm
minerva
minilang
security
service
Service Engine
shark
Workflow Engine
updater
OfbizNeogia update tools
webapp
webtools
OfbizNeogia Management Interface
widget
OfbizNeogia Display Technology
- formation sur les widgets
- FAQ sur l'utilisation des forms (source : opensourcestrategies.com)
Forms Tags
Neogia tags (not yet transferred onto ofbiz)
- tag to hide by default or show fields of a single form or multi and simple list (and having a detail button):
- in the form declaration : add tag => use-details="true"
- in field that you want to hide by default: use tag => details="true"
- you can also overide forms definition in user forms preferences :
- edit file WUP_UFP_XXX_UiFormsPref.properties and add definition :
listNFacilityD.use-details=true listNFacilityD.deleteLink.details=true
- here is a print screen to show detail button on a list :
- use paginate tag to hide or show first / previous / next / last buttons in list forms (Default value is "true"). You must specify the paginate-target tag to get the correct view after cliquing on header. If the list is bigger than 20 rows then this area is also displaying at the buttom of the list.
Overview
Here is the way the pages are generated
The general structure of each entity ( Form, Tree, Menu) is defined in the Model and Factory files. The html code is written in the HtmlRenderer files. They get the data from a context and put the appropriate html code in a buffer. The Wrappers make it easy to do and setup the rendering. The buffer is then used by the ScreenRenderer that generate the final page. The interaction between the different files is simply shown in the flow chart. ( Only a part of the interactions are shown.)
Forms
- Forms Factory
- Gets and read the data of forms.
- FormStringRenderer
- Interface.
- ModelForm
- Creates the form's structure.
- ModelFormAction
- Sets the fields of forms and test keys.
- ModelFormField
- Allows to get and to set the variable of forms. Some variables are only declared at the call of the object, or methods. HtmlFormRenderer use it to get values and create elements such as hyperlinks... ModelFormField use ModelForm to create the structure of forms. The same process is followed by Trees and Menus so it won't be explained.
Html
- HtmlFormRenderer
- Creates the page using the methods in ModelFormField. The html code and the data of forms and concatened in a buffer.
- HtmlFormWrapper
- Makes it easy to setup and render a form.
- HtmlMenuRenderer
- As HtmlFormRenderer, HtmlMenuRenderer renders a menu thanks to ModelMenu.
- HtmlMenuRendererImage
- Creates the html code needed to show an image.
- HtmlMenuWrapper
- Makes it easy to setup and render a menu.
- HtmlMenuWrapperImage
- Makes it easy to setup and render an image.
- HtmlScreenRenderer
- Creates the final render from ModelScreenWidget.
- HtmlTreeRenderer
- Makes a render of trees.
- NsingleHtmlFormWrapper
- Extends the HtmlFormWrapper to add 2 or 3 updates for Neogia.
Menu
- MenuFactory
- Gets and reads the data of menus.
- MenuStringRenderer
- Interface.
- MenuWrapTransform
- Allows the user to modifie the URLs.
- ModelMenu
- Creates the structure of menus and sets the default values.
- ModelMenuAction
- Sets the values of menus and tests keys.
- ModelMenuCondition
- Methods doing tests on some elements and returning booleans.
- ModelMenuItem
- Sets and gets the walues of the menu items ( works likMethods doing tests on some elements and returning booleans.e HtmlFormField).
Screen
- HtmlWidget
- Convert ftl in html.
- IterateSectionWidget
- Render the next and previous button.
- ModelScreen
- Render the text of the screen.
- ModelScreenAction
- Sets values of screens and tests keys.
- ModelScreenCondition
- Methods doing tests on some elements and returning booleans.
- ModelScreenWidget
- Makes the data ready to render for HtmlScreenRenderer.
- ScreenFactory
- Gives the information on a screen.
- ScreenFopPdfViewHandler
- Creates a pdf file from a screen.
- ScreenRenderer
- Sets the default values of a screen. It used to deal with ftl files.
- ScreenStringRenderer
- Interface.
- ScreenWidgetViewHandler
- Manage the render for screen widget.
Tree
- ModelTree
- Creates the structure and sets, returns values.
- ModelTreeAction
- Set the values and tests keys.
- ModelTreeCondition
- Methods doing tests on some elements and returning booleans.
- TreeFactory
- Gets information on a tree.
- TreeStringRenderer
- Interface.
Widget
- WidgetWorker
- Creates hyperlinks and stores it in a buffer.
Tab screen
TabScreen create tab screen
workflow
application
accounting
content
ecommerce
humanres
marketing
order
- Documentation_technique_module_commande
- Job List Order
- Calcul des taxes (ex: TVA)
- Evolution des statuts
party
pos
product
securityext
workeffort
neogia
accouting
- Analyse de la gestion des paiments
- Fonctionnement de l'intégration
- Recherche d'écriture
- Fonctionnement de la correction du rapprochement de facture lors d'erreur avec les réceptions
- fonctionnement du règlement des paiements
- Calcul des totaux par période et par axe analytique (croisement)
- Immobilisation
- Masque de saisie
- Gestion des devises
- Gestion des lettrages
- Report
- Test selenium
facility
- Default Facility Lookup: how to retrieve the default facility associated to a product?
- Product Facility Parameters Lookup: how to retrieve product facility parameters?
Facility Cost
how stockItem or stockEvent cost is calculated?
- Cost management depends on ProductStore or Properties (product.properties)
- if productStore.unitCostMngType == N, only default.product.unitCostMngType is read
- if productStore.unitCostMngType == Y, (not yet implemented)
- for each stockEvent or stockItem, facility is read,
- look if a productStore exists with an equal inventoryFacilityId; if not, look for parentFacility (and so on)
- if no productStore is found, look at product.properties
- Implemented it need to
- have multiple ProductPriceType,
- manage facility transfert cost difference
- for Average Cost:
- ProductPriceType = AVERAGE_COST is used, currently only one (no history and all ProductStore have the same)
- for each product receipt (purchase or productionRun), AverageCost is calculated (StockItem.java method setUnitCost)
- stockItem unitCost is never updated or used, cost is read from ProductPrice
- for Fix Cost:
- ProductPriceType = FIX_COST is used, currently only one (no history and all ProductStore have the same), not present in seed DATA
- stockItem unitCost is never updated or used, cost is read from ProductPrice
- for LastPrice: (not yet implemented)
- for each product receipt (purchase or productionRun), if no stockItem exists with this price (or cost) a new stockItem is created
- stockItem unitCost is updated and used
- stockEvent unitCost is used in all cases to be able to have FacilityCost, stockEvent.quantity * stockEvent.unitCost is the cost change of the event. After cost correction (purchase Invoice matching, or productionRun closing) there is a stockEvent with quantity = 0.
humanres
integration
manufacturing
Hooks available
Calcul prix de revient
Gestion du chevauchement des opérations
Saisies des temps
TimeSheet and Wrun
- C'est une copie de ce qui existe dans la gestion de projet.
- En sélectionnant le bouton "Associer des feuilles de temps", on obtient le formulaire sans passer par le lien d'ajout de feuilles de temps. Cela a été rendu possible en ajoutant une ligne à "Tabbarjobshop.ftl" qui se trouve dans les includes associés au module. L'écran 'EditAssocTimeSheet' est ajouté dans le 'jobshopscreen' dans lequel ont été développés, au sein du Widget, trois écrans de décoration. Une requet-map et un view-map spécifique à la création de l'écran "EditAssocTimeSheet" ont été ajoutés.





