2
Fork 0
imxmi/doc
2008-12-06 22:32:41 +01:00
..
README.txt [svn r359] WIP 2008-12-06 22:32:41 +01:00
TODO.txt [svn r359] WIP 2008-12-06 22:32:41 +01:00


eclipse 3.2

To build/run the swt stuff you need the Visual Editor plug in installed from the calisto site.

eclipse 3.3

Down load http://www.ehecht.com/eclipse_ve/ve.html  (lin_mac version)

Unzip and move the plug ins and features into the plug in and features directory of eclipse.

Swing will run by default.

-- XyReasscan ?

zie tables statline.cbs.nl voor bs asielverzoeken nl


---- Object tree:

3 layers

- Data Backend
	- JPA or Hibernate
	- Meta Query
	- LDAP
	# List via geparametered xql query
	# Save
	# Merge
	# Delete
	# Create ?
		FilteringDataSource
		PagingDataSource
		FilteringPagingDataSource
		Ordering
		Parameter
		
- Data Source Controller
	- Data Access Controller
	# User ACL on data items/columns
	# Create new entry hooks
	
- Table Controller
	- User Settings
	
	
- Data Frontends
	- Extjs
	- Swing
	- WS
	- SWT via SwingWT
	- JSF (met utr plugin)



- default view field
- Admin fields and order
- Admin field groups -> 'collapse
- List filters auto by type
- search fields

verbose_name_plural
The plural name for the object:
verbose_name_plural = "stories"
If this isn’t given, Django will use verbose_name + "s"

List of Magic Field Names

    * created_at
    * created_on
    * updated_at
    * updated_on
    * lock_version
    * type
    * id
    * #{table_name}_count
    * position
    * parent_id
    * lft
    * rgt
    * quote_value (is used for quoting)
    * template



- plural
- ordering
- order_with_respect_to

# admin
- date_hierarchy
-     fields = (
        (None, {
            'fields': ('url', 'title', 'content', 'sites')
        }),
        ('Advanced options', {
            'classes': 'collapse',
            'fields' : ('enable_comments', 'registration_required', 'template_name')
            'description' : 'sdf' 
        }),
    )
- JS
- list_display_links
- list_filter =    BooleanField, DateField, DateTimeField or ForeignKey.
- list_per_page
- ordering def
- save_as
- search_fields

@Entity
@VascAdmin(list=true,edit=true,create=true,delete=false)
public class BlogPost {

	@VascPrimaryKey
	@VascName(key="generic.id.name")
	@VascDescription(key="generic.id.name")
	@VascHelpId(key="generic.id.help")
	@VascImage(key="generid.id.image");
	Integer id;
	
	@Column(columnName="title")
	@VascDisplayName
	@VascUserRoles(list="(floormanager&sitemanager)|admin" editViewOnly="floormanager" edit="sitemanager|admin")
	String title;
	
	@VascEditorType(type="slugField")
	String slug;
	
	@VascChoices()
	@VascDefaultValue(key="")
	String tags;

	@VascRegex(regex="<(.*)>" key="generic.regex.html.tagsNotAllowed")
	String content;
	
	@VascEditorType(type="floatField" hints="max_digits=3,decimal_places=2")
	@VascFieldOptions
	@VascColumnWidth(width=130)
	Float price;
	
	@VascModelReference
	@VascDefaultValue
	@VascObjectNotNull
	BlogStatus blogStatus;
	
	@VascEditorType(type="dateField" hints="auto_now=true,auto_now_add=true")
	@VascDefaultValue(key="new_date")
	@VascUserRoles(list="admin")
	Date createdDate
	
	@VascEventChannel(channel="BlogPost.modifiedDate" create=true)
	Date modifiedDate

	@VascDateFuture
	Date publicedDate
} 



<servlet>
	<name>vasc</name>
	<class></class>
	<property>admin=true</property>
	<property>backend=extjs</property>
	<property>path=/js/extjs/*</property>
</servlet>
<servlet-mapping>
	<name>vasc</name>
	<mapping>/vasc/*</mapping>
</servlet-mapping>


EmployeeDataSource dataSource = new EmployeeDataSource();
dataSource.setJdbcTemplate(new JdbcTemplate(employeeDataSource()));
        FilteringPaginator filteringPaginator = new FilteringPaginator(dataSource, EmployeeReportObject.class);
        JsfCrudAdapter adapter = new JsfCrudAdapter(filteringPaginator, (CrudController)empCrud().getController()){
            public Serializable getEntity() {
                Object object = ((Row)getModel().getRowData()).getObject();
                EmployeeReportObject employeeReportObject = (EmployeeReportObject) object;
                Employee employee = new Employee();
                employee.setId(employeeReportObject.getId());
                return employee;
             }                  
        };
        
        return adapter;

EVt;

<a4j:form id="blogForm" enctype="multipart/form-data">
	<vasc:form crud="${crud}" parentForm="blogForm"
	        propertyNames="firstName,lastName,department,description,file,age,numberOfPromotions,active,status,dob">
	
	        <vasc:compositePanel entity="${crud.entity.address}" name="address"
	                propertyNames="line_1,line2,zipCode" />
	
	        <vasc:detailListing
	                detailController="${directReportDetailController}" 
	                propertyNames="firstName,lastName,description,age,numberOfPromotions" />
	
	        <vasc:detailListing detailController="${taskDetailController}"
	                propertyNames="name,startDate,endDate,complete" />
	
	        <vasc:detailListing detailController="${contactDetailController}"
	                propertyNames="name,phone" />
	
	        <vasc:selectMany jsfSelectManyController="${employeeToRoleController}" 
	                propertyNames="name"
	                parentForm="employeeForm"/>
	                
	</vasc:form>
</a4j:form>



@SuppressWarnings({ "unchecked", "serial" })
@Bean(scope = DefaultScopes.SESSION)
public JsfCrudAdapter empRecordCrud() {
        EmployeeDataSource dataSource = new EmployeeDataSource();
        dataSource.setJdbcTemplate(new JdbcTemplate(employeeDataSource()));
        FilteringPaginator filteringPaginator = new FilteringPaginator(dataSource, EmployeeReportObject.class);
        JsfCrudAdapter adapter = new JsfCrudAdapter(filteringPaginator, (CrudController)empCrud().getController()){
            public Serializable getEntity() {
                Object object = ((Row)getModel().getRowData()).getObject();
                EmployeeReportObject employeeReportObject = (EmployeeReportObject) object;
                Employee employee = new Employee();
                employee.setId(employeeReportObject.getId());
                return employee;
             }                  
        };
        
        return adapter;
}

<a4j:form id="employeeListingForm">
	<a4j:outputPanel ajaxRendered="true">
	        <h:panelGroup rendered="${empRecordCrud.controller.showForm}">
	                <crank:form
	                		crud="${empRecordCrud.controller}"
	                        parentForm="employeeListingForm" 
	                        propertyNames="firstName,lastName,numberOfPromotions,age,department" ajax="${true}" />
	        </h:panelGroup>
	</a4j:outputPanel>
	
	<crank:listing
			jsfCrudAdapter="${empRecordCrud}" 
	        propertyNames="firstName,lastName"
	        parentForm="employeeListingForm"
	        />
</a4j:form>



<h:form id="expListForm" rendered="#{controllerBean.showListing}">
    <crank:listing paginator="${paginators['Employee']}" 
                jsfCrudAdapter="${cruds['Employee']}" 
                  propertyNames="firstName,lastName,active,dob,age,phone,email,department.name,description"
                pageTitle="Employees"
                parentForm="expListForm"
                reRender="${reRender}"
                crud="${cruds['Employee'].controller}"/>
</h:form>