Skip to content
Hamed Abdollahpour edited this page Aug 15, 2013 · 7 revisions

There's some default module in XWeb project and you can create your own too.

You should define modules in xweb.xml file as follow:

<?xml version="1.0" encoding="utf-8"?>
<xweb version='0.6.0'>
	...
	<modules>
		<module>
			<name>module_name</name>
			<author>Author name</author>
			<class>sample.module.class.path</class>
			<validators>
				<validator require="true/false" param="action" regex="regex_definition" />
			</validators>
			<roles>
				<role param="action" eval="validate script" />
			</roles>
			<properties>
				<property key='property_name'>property_value</property>
			</properties>
			<schedules>
				<schedule start="1" unit="minuet/hour/day/month" period="15" query="param1=value1&param2=value2"/>
			</schedules>
		</module>
	<modules>
	...
</xweb>
  • name: Name of module. It can just contain [a-z] and [0-9].
  • author: Module author name.
  • class: Module class name. Remember that if you are using Obfuscate tools like Proguard, -keep all module classes:
  -keep public class * extends android.app.Activity
Example:
<module>
	<name>maintenance</name>
	<author>Hamed Abdollahpour</author>
	<class>org.pdroid.server.modules.MaintenanceModule</class>
	<validators>
		<validator param="calculate" regex="downloads" />
		<validator param="clear" regex="temp" />
	</validators>
	<roles>
		<role definite="true" param="" eval="true" value="admin" />
	</roles>
	<schedules>
		<schedule start="1" unit="minuet" period="15" query="calculate=downloads"/>
		<schedule start="1" unit="hour" period="24" query="clear=temp+remember"/>
	</schedules>
</module>
Clone this wiki locally