• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H16-Feb-2022-514450

.mvn/wrapper/H16-Feb-2022-12178

build/H16-Feb-2022-2,5662,102

distribution/H16-Feb-2022-10,3177,805

documentation/H03-May-2022-629597

i18n/H16-Feb-2022-35,34632,259

plugins/H16-Feb-2022-539461

starter/H16-Feb-2022-1,7061,086

xmppserver/H03-May-2022-243,020154,660

.dependency-check-suppressions.xmlH A D16-Feb-20221.7 KiB3736

.dockerignoreH A D16-Feb-2022303 2826

.editorconfigH A D16-Feb-2022364 2015

.gitignoreH A D16-Feb-2022374 3627

DockerfileH A D16-Feb-20221,014 2720

MakefileH A D16-Feb-2022422 2917

README.mdH A D16-Feb-20225 KiB11186

mvnwH A D16-Feb-20229.8 KiB311214

mvnw.cmdH A D16-Feb-20226.5 KiB183147

pom.xmlH A D16-Feb-202218 KiB467414

runAioxmppIntegrationTestsH A D16-Feb-20224.4 KiB159133

runConnectivityIntegrationTestsH A D16-Feb-20229.9 KiB322282

runIntegrationTestsH A D16-Feb-20226.5 KiB214174

test.gradleH A D16-Feb-20221.1 KiB4235

README.md

1Openfire ![alt tag](https://raw.githubusercontent.com/igniterealtime/IgniteRealtime-Website/master/src/main/webapp/images/logo_openfire.gif)
2========
3[![Openfire CI](https://github.com/igniterealtime/Openfire/workflows/Openfire%20CI/badge.svg?branch=master)](https://github.com/igniterealtime/Openfire/actions?query=workflow%3A%22Openfire+CI%22+branch%3Amaster)  [![Project Stats](https://www.openhub.net/p/Openfire/widgets/project_thin_badge.gif)](https://www.openhub.net/p/Openfire)
4
5About
6-----
7[Openfire] is a real time collaboration (RTC) server licensed under the Open Source Apache License. It uses the only widely adopted open protocol for instant messaging, XMPP (also called Jabber). Openfire is incredibly easy to setup and administer, but offers rock-solid security and performance.
8
9[Openfire] is a XMPP server licensed under the Open Source Apache License.
10
11[Openfire] - an [Ignite Realtime] community project.
12
13Bug Reporting
14-------------
15
16Only a few users have access for filling bugs in the tracker. New
17users should:
18
191. Create a Discourse account
202. Login to a Discourse account
213. Click on the New Topic button
224. Choose the [Openfire Dev category](https://discourse.igniterealtime.org/c/openfire/openfire-dev) and provide a detailed description of the bug.
23
24Please search for your issues in the bug tracker before reporting.
25
26Resources
27---------
28
29- Documentation: http://www.igniterealtime.org/projects/openfire/documentation.jsp
30- Community: https://discourse.igniterealtime.org/c/openfire
31- Bug Tracker: https://igniterealtime.atlassian.net/browse/OF
32- Nightly Builds: http://www.igniterealtime.org/downloads/nightly_openfire.jsp
33
34Ignite Realtime
35===============
36
37[Ignite Realtime] is an Open Source community composed of end-users and developers around the world who
38are interested in applying innovative, open-standards-based Real Time Collaboration to their businesses and organizations.
39We're aimed at disrupting proprietary, non-open standards-based systems and invite you to participate in what's already one
40of the biggest and most active Open Source communities.
41
42[Openfire]: http://www.igniterealtime.org/projects/openfire/index.jsp
43[Ignite Realtime]: http://www.igniterealtime.org
44[XMPP (Jabber)]: http://xmpp.org/
45
46Making changes
47==============
48The project uses [Maven](https://maven.apache.org/) and as such should import straight in to your favourite Java IDE.
49The directory structure is fairly straightforward. The main code is contained in:
50
51* `Openfire/xmppserver` - a Maven module representing the core code for Openfire itself
52
53Other folders are:
54* `Openfire/build` - various files use to create installers for different platforms
55* `Openfire/distribution` - a Maven module used to bring all the parts together
56* `Openfire/documentation` - the documentation hosted at [igniterealtime.org](https://www.igniterealtime.org/projects/openfire/documentation.jsp)
57* `Openfire/i18n` - files used for internationalisation of the admin interface
58* `Openfire/plugins` - Maven configuration files to allow the various [plugins](https://www.igniterealtime.org/projects/openfire/plugins.jsp) available to be built
59* `Openfire/starter` - a small module that allows Openfire to start in a consistent manner on different platforms
60
61To build the complete project including plugins, run the command
62```
63./mvnw verify
64```
65
66However much of the time it is only necessary to make changes to the core XMPP server itself in which case the command
67```
68./mvnw verify -pl distribution -am
69```
70will compile the core server and any dependencies, and then assemble it in to something that can be run.
71
72Testing your changes
73--------------------
74
75#### IntelliJ IDEA:
76
771. Run -> Edit Configurations... -> Add Application
782. fill in following values
79    1. Name: Openfire
80    2. Use classpath of module: starter
81    3. Main class: org.jivesoftware.openfire.starter.ServerStarter
82    4. VM options (adapt accordingly):
83        ````
84        -DopenfireHome="-absolute path to your project folder-\distribution\target\distribution-base"
85        -Xverify:none
86        -server
87        -Dlog4j.configurationFile="-absolute path to your project folder-\distribution\target\distribution-base\lib\log4j2.xml"
88        -Dopenfire.lib.dir="-absolute path to your project folder-\distribution\target\distribution-base\lib"
89        -Dfile.encoding=UTF-8
90       ````
91   5. Working directory: -absolute path to your project folder-
923. apply
93
94You need to execute `mvnw verify` before you can launch openfire.
95
96#### Other IDE's:
97
98Although your IDE will happily compile the project, unfortunately it's not possible to run Openfire from within the
99IDE - it must be done at the command line. After building the project using Maven, simply run the shell script or
100batch file to start Openfire;
101```
102./distribution/target/distribution-base/bin/openfire.sh
103```
104or
105```
106.\distribution\target\distribution-base\bin\openfire.bat
107```
108
109Adding `-debug` as the first parameter to the script will start the server in debug mode, and your IDE should be able
110to attach a remote debugger if necessary.
111