WebTool makes it easy to use web based tools with Erlang/OTP. WebTool configures and starts the webserver httpd.
start()-> {ok,Pid}| {stop,Reason}
Start WebTool with default data, i.e. port 8888, ip-number
127.0.0.1, and server-name localhost
. The
mime.types
file and WebTool's own HTML files are
assumed to be in the directory webtool-<vsn>/priv
.
start(Path,Data)->{ok,Pid}|{stop,Reason}
Path = string() | standard_path
Data = [Port,Address,Name] | PortNumber | standard_data
Port = {port,PortNumber}
Address = {bind_address,IpNumber}
Name = {server_name,ServerName}
PortNumber = integer()
IpNumber = tuple(), e.g. {127,0,0,1}
ServerName = string()
Pid = pid()
Use this function to start WebTool if the default port, ip-number,servername or path can not be used.
Path
is the directory where the mime.types
file and WebTool's own HTML files are located. By default
this is webtool-<vsn>/priv
, and in most cases there
is no need to change this. If Path
is set to
standard_path
the default will be used.
If Data
is set to PortNumber
, the ip-number
and server name will be retreived by calling
inet:gethostname/0
and
inet:getaddr/2
.
Stop WebTool and the tools started by WebTool.
The following callback function must be implemented by each web based tool that will be used via WebTool. When started, WebTool searches the Erlang code path for *.tool files to locate all web based tools and their callback functions. See the WebTool User's Guide for more information about the *.tool files.
Module:Func(Data)-> {Name,WebData}|error
Data = term()
Name = atom()
WebData = [WebOptions]
WebOptions = LinkData | Alias | Start
LinkData = {web_data,{ToolName,Url}}
Alias = {alias,{VirtualPath,RealPath}} |
{alias,{erl_alias,Path,[Modules]}
Start = {start,StartData}
ToolName = Url = VirtualPath = RealPath = Path = string()
Modules = atom()
StartData = AppData | ChildSpec | Func
AppData = {app,AppName}
ChildSpec = {child,child_spec()}
Func = {func,{StartMod,StartFunc,StartArg},
{StopMod,StopFunc,StopArg}}
AppName = StartMod = StartFunc = StopMod = StopFunc =atom()
StartArg = StopArg = [term()]
This is the configuration function (config_func
)
which must be stated in the *.tool
file.
The function is called by WebTool at startup to retrieve the
data needed to start and configure the tool. LinkData
is
used by WebTool to create the link to the tool. Alias
is
used to create the aliases needed by the webserver. Start
is used to start and stop the tool.