2001 2011 Ericsson AB, All Rights Reserved The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The Initial Developer of the Original Code is Ericsson AB. webtool
webtool WebTool is a tool used to simplify the implementation of web based tools with Erlang/OTP.

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.

Start WebTool with default data, i.e. port 8888, ip-number 127.0.0.1, and server-name localhost. If port 8888 is in use, port 8889 is tried instead. If 8889 is also in use, 8890 is tried and so on. Max number of ports tried is 256.

The mime.types file and WebTool's own HTML files are assumed to be in the directory /priv/root/conf]]>.

start(Path,Data)->{ok,Pid}|{stop,Reason} Start WebTool with default configuration. 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 /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 default data will be used for ip-number (127.0.0.1) and server name (localhost).

stop()->void Stop WebTool.

Stop WebTool and the tools started by WebTool.

debug_app(Module)->void Debug a WebTool application. Module = atom()

Debug a WebTool application by tracing all functions in the given module which are called from WebTool.

stop_debug()->void Stop debugging an application and format the trace log.

Stop the tracing started by debug_app/1, and format the trace log.

CALLBACK FUNCTIONS

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 Returns configuration data needed by WebTool to configure and start a tool. 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()} See the Reference Manual for the module supervisor in the STDLIB application for details about 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.

See Also

start_webtool(1), WebTool User's Guide