[[!toc levels=2]] To get into EOF through ceofhack, you should make sure you understand [[how to use|user]] ceofhack in general. Depeding on your skills and interests, you may either be interested in * hacking the core (aka ceofhack, rare developers probably) * creating user interfaces (ui) * creating transport protocols (tp) ## API documentation In general, everything you need should be documented in the EOF standard document. If it's not, it's probably a bug (in that case, send a patch). ## UI developers UIs can either live in their own projects or be a part of ceofhack. The **first** way is recommended, so your development does not depend on ceofhack. ## Transport protocol developers TPs can either live in their own projects or be a part of ceofhack. The **second** way is recommended, so all available transport protocols are shared with the ceofhack installation. ### Creating a new transport protocol You can use the following code as a start: scheme=phpbb implementation=shell cd ceofhack/tp mkdir -p ${scheme}/${implementation} echo "echo listening implementation" > ${scheme}/${implementation}/listen echo "echo send implementation" > ${scheme}/${implementation}/send chmod 0755 ${scheme}/${implementation}/* Now you've a dummy "working" transport protocol. ### Enabling a new transport protocol You can use the following code as a start: scheme=phpbb implementation=shell cd ceofhack/tp # Enable protocol in general mkdir -p "$HOME/.ceof/tp/available/${scheme}" cp "${scheme}/${implementation}/listen" "$HOME/.ceof/tp/available/${scheme}" cp "${scheme}/${implementation}/send" "$HOME/.ceof/tp/available/${scheme}" # Enable listener for protocol address="describe-particular-address" mkdir -p "$HOME/.ceof/tp/listen/${scheme}-${address}" echo "${scheme}${address}" > "$HOME/.ceof/tp/listen/${scheme}-${address}/url" ### Submitting a transport protocol for inclusion into the mainline * Create a branch ${scheme}-${implementation} on your side * Submit a pull request (via ML, IRC, github, whatever) [[!tag unix]]