FAQ
From MupeWiki
This page contains Frequently asked questions. Contact us for more if you don't find a solution here.
Contents |
[edit]
Basic information
- What is Mupe?
- MUPE is an Open Source application platform for creating mobile multi-user context-aware applications. MUPE is a client-server system where the clients are run in mobile phones and the server is running in the Internet.
- Where does MUPE work?
- MUPE client works in mobile devices that support MIDP 1.0 or 2.0. A connection to the network is required. The client can also be used with the J2ME Wireless Toolkit MUPE server requires Java version 1.4.2 (or later), and the server can be run in most computers. MUPE server requires one open port where the clients can connect to. The media (sound&media) creation and upload requires the MIDP 2 client.
- How to install and run MUPE?
- Download MUPE server from the download section and extract the packet anywhere on your machine. Compile (build.xml provide for Apache Ant build tool) and run using "startmupe". Download mupe client and use it in the emulator or the mobile phone to connect to the MUPE server. If you run applications that contain graphics or other non-text data, you need a webserver where this data is put. Add the content onto the webserver and update the baseurl.xml in the Base.xml to point to this address.
- How do I create my own MUPE application?
- See the Documentation
- Why doesn't the MUPE server start (I try to run startmupe)?
- You have to compile the files first. You might have to use "source startmupe.bat" in *nix.
- I have the server running, but I cannot connect to it with the client?
- There can be many causes for this.
- Check, that you are connecting to the correct IP address.
- Check, that you are connecting to the client manager port, not to the world or context manager port. (Default 8080)
- Check that the server has an open port assigned for the Client Manager Tcp. (or for that client manager that you are using)
- Check, that the different managers have a different port assigned for them (see the xml/config/MupeConfiguration.xml for the information, or use the Edit... in the MupeStarter tool)
- Why doesn't the Wireless Toolkit emulator work with the MupeClient?
- Get the latest Wireless Toolkit, and the newest MUPE Client version.
- I'm getting a "Selector Error" when I try to start the MupeServer?
- You most likely have the managers running from a previous MUPE server session. This is sometimes caused by the MupeStarter tool. You should check the processes and try to locate the processes that are causing this and kill them.
[edit]
Client problems
- The content of some of the demos is too large for my screen?
- Some of the demos are optimized for a screen size of 176x208 and are not scalable at the moment.
- My client shows error "-20015" when I try to connect to the server?
- 20015 = request timeout. We have increased MUPE client timeout time, so this should not occur too often. This can be caused by:
- too high latency (the response takes too long a time)
- a firewall (The request is sent but the firewall is blocking the answer)
- some other software running in the same port (some other software is taking the request and never rerunong an answer. This can also be another MUPE manager - only the client managers know how to handle connections from clients)
- My client shows error "-191" when I try to connect to the server?
- There is no manager in this port or you have connected to the wrong address.
[edit]
Server problems
- How does MUPE work with a firewall?
- Firewalls might be blocking client connections to the server. Check the ports and the firewall settings.
- I have MUPE server running, but I cannot connect to it with the client?
- Make sure, the server has an open port to the Internet.
- Why does the xml/config/MupeConfiguration.xml have 127.0.0.1 in every manager?
- You can run every manager in a separate computer. You cannot use the Mupe Starter in this case. This address states where these managers connect to. (Actually, WorldManager does not connect to anything although it contains this address as well. WorldManager is always started in the localhost.)
- The MUPE server remembers the application data and state, where is this data stored?
- MUPE server uses java serialization and the data is stored on the content.dat file.
- I made changes to the java files and now the server won't start?
- You modified the server enough to make the data structures incompatible with the previous server version. The server stores its internal state in the content.dat file and after the changes, it cannot read this file as the classes have changed. You need to delete the content.dat file, although this completely deletes the old data stored in the server (User accounts, etc.)
- I made changes to the java files, compiled, but nothing happens?
- Make sure, your classpath is pointing to the correct location. In case you are using ant buildtool: "ant all" creates new classes into build/ directory and a MupeServer.jar package. If you type "ant", only the class files are generated, no new MupeServer.jar. Got to MupeStarter tool, select Mupe Settings... -> Edit ... and set the classpath to build/. (You can edit the xml file: xml/config/MupeConfiguration.xml manually also).
- Do I need to recompile the server after I make changes to the XML files?
- No.
- Do I need to recompile the server after I make changes to the java code?
- Yes. Also, if the data structures become incompatible with the previous version, you need to delete the content.dat file that contains the data of the world.
- I derived my own room, but it does not show anywhere?
- You need to create such a room into the world or allow the end-users to create such a room. Replace the default room in the World object, or create the room into some other room. For the end-users, add a command similar to the normal room creation found command found in the basic MUPE server's room description file (xml/content/Room/description.xml).
- Please refer to Extending MUPE server tutorial.
- I made changes to the xml files, but nothing shows on the client UI?
- Make sure, you are modifying the correct xml files. (see next)
- How do I know what content in the server makes the UI in the client?
- By default, the user is always in a single location (Room), which determines the UI. User is typically inside a room and you need to customize the rooms.
- My client is running out of memory with the application?
- There are some nice tricks you can do to optimize the client and its memory. Everytime you make a template, the client creates a new UI and frees the old resources. You should try to minimize the number of times you make new templates and other items, as this can fragment the memory of the device. You can download all of the graphics/etc as resources when you create the template and this is a good solution memory wise. If you use some graphics only once, you do not need to make a resource out of this. It is enough to fetch it from the net just that one time. Remember, this is not a PC environment: the devices do not have virtual memory and the developers need to optimize memory consumption.
- What is MupeCore.jar?
- This file contains all the basic functionality, that the application developers does not usually need to modify. It contains all the managers (Client, Context and World) that take care of the communications between the client different parts. It also contains tools for creating context rules (use: runContextScriptBuilder.bat) and for simulating context data (use: runSimulator.bat, you can also make new simulators with this).
- note: You can build the MupeCore.jar from the MupeServer with full source.
- MupeServer official release was updated, how can I add these updates to my own application?
- Try these:
- If the core parts were updated: Download the new MupeCore.jar from the net.
- If the virtual world files were updated: Check and migrate changes if necessary.
- Are there any existing context producers available where I could connect to?
- If you make any that are public, send information to us so we can create a list of existing public context producers. At the moment, there are no public producers.
- There are some nice external context features in a MUPE application, how can I use them?
- Copy the context configuration xml files (from xml/config/context/) from that project and the SuperUser class from that project. You need to modify the SuperUser class to suit your application needs. Refer to the context tutorial with this.
[edit]
Wireless Toolkit Emulator
- I cannot connect to the MupeServer at the localhost with the emulator?
- Make sure, you are typing the address correctly: localhost does not work, use 127.0.0.1. Also check that the port is the same as the ClientManagerHttp (or other that you might be using).
- Why are the button commands displayed differently on the mobile phone than they are in the emulator?
- Different implementations of the J2ME have some variations.
- How can I run multiple emulators on a single computer?
- At least this works: Copy the wireless toolkit into new directories (one for each emulator required) and change the directories in the bat files to point to these new directories.
[edit]
Publishing & Media Upload
- I try to take a photo, but my device fails to do this?
- All the cellphones do not have the sound/image recording functionality
- When I try to upload an image (or sound), I get an error message.
- The server contains the location where to save the files in the file: EnvironmentVariables.xml. Go and change these to point to the correct location (i.e. the location where you want to store the files). If you want to view these files in your application, make sure these locations are visible from the Internet (see the next question).
- I manage to upload the media, but I cannot access it afterwards?
- Change variables in EnvironmentVariables.xml.
[edit]
Error messages
- I get "no xml/config/mupeconfiguration found" error message, but the file is there, what is wrong?
- Did you create the project into the right folder? In this case the directories are a bit wrong: # The class files need to be in the build/ folder
- The java files need to be in the src/ folder
- MupeCore and ContentClasses need to be in ../ folder (so one hierarchy level higher than your project)
- /projects/mupe/ should have the contentclasses.jar, and mupecore.jar (so as you update these jar files, they are available for all of your projects)
- /projects/mupe/MyProject1 should containt the project files, and directories.
[edit]
Open Source License
- What license does MUPE use?
- MUPE is available under the Nokia Open Source License (NOKOS License) Version 1.0a.
Nokia, Nokia Connecting People and MUPE are trademarks or registered trademarks of Nokia Corporation. Nokia hereby grants free right to use MUPE trademark in connection with software applications originating from MUPE software
