# Wacintaki Poteto 1.6.x Readme

### Last update: March 7, 2022

## Table of Contents

- Overview
- Installation
- Update from an Older Version of Wacintaki
- Update from OekakiPoteto
- Troubleshooting
- Help and Support
- Credits

## Overview

Wacintaki is an oekaki BBS which allows artists to draw pictures in their web browser without the need for a native paint program to be installed on their computer. Pictures may be posted to the BBS directly, however they may also be saved locally. Although artwork is intended to be drawn directly in the web browser, the BBS also supports file uploads. Wacintaki is not a social network, and follows traditional BBS design customs without any ranking system, and optionally allows limited guest posting.

Wacintaki is a fork of the OekakiPoteto 5.x source. This version has a few new features compared to the original version of Poteto, and is significantly modernized. It includes HTML5 support, a reworked template system, thumbnails, group projects, significantly lower bandwidth usage, several bug and security fixes, and it runs on a wider variety of servers and configurations.

Although no new features are planned, support for Wacintaki continues. Thanks to its minimalistic, old-fashioned design, it runs on a wide variety of servers running PHP versions 5.2 through 8.0. Check for new versions, downloads, and patches here: www.NineChime.com/products/

## Installation

For complete installation instructions, please refer to the manual which can either be found online or included with a complete Wacintaki archive. The manual includes more in-depth information on how to set up a database, how to upload files to your server via FTP, and how to change file permissions.

If you are updating an existing board, skip this secion and see the update instructions below.

### Step 1

Copy all the files from the “oekaki” folder into a folder on your server. The destination folder may be any name, but all lower-case letters is recommended since URLs are generally case-sensitive.

Do NOT upload the documentation folder or anything else outside the “oekaki” folder of this distribution. It sounds silly to point this out, but it's a fairly common mistake!

### Step 2

After uploading all the files, use your FTP program to CHMOD the files to change their permissions. It may or may not be necessary to CHMOD the main installation folder depending on your host's security policy. Refer to the Wacintaki manual for an explanation on CHMOD numbers. Use the following numbers for folders:

    775 (preferred) or 777:
       ./templates (important for template generation)
       ./resource  (contains files that may be regularly changed by the BBS)

The pictures and avatars folders, as well as the files in the resource folder, are generated automatically. If you create them manually for some reason, use the following numbers:

    775 (preferred) or 777:
       ./avatars/
       ./pictures/

    664:
       ./resource/banner.php
       ./resource/hosts.txt
       ./resource/ips.txt
       ./resource/notice.php
       ./resource/rules.php

If you upload config files or any pictures via FTP, note that you may have to CHMOD the files with less restrictive numbers, such as 777 for folders or 666 for files. This is because the PHP scripting language is running on a different security group than your FTP program, and thus will need more “public” permissions. This may result in other people on your server being able to access your files via a system shell, so always try to use the highest security that works properly.

### Step 3

View the board, and you should be redirected to the installer.

### Step 4

After installing the BBS, you will be prompted to press a button to finalize the installation. This will removed the install.php and update.php files from the BBS. Neglecting to remove these files can result in serious security issues. If the BBS cannot delete these files for you, it will let you know, and you MUST delete them manually.

### Step 5

Two preview images are available. The default is preview.png, the second is preview2.png. You can replace them with any PNG image you like, but an image equal to the default canvas size is recommended (the default is 300 x 300). Select new preview images using the installer or control panel, or simply overwrite the ones that come with Wacintaki Poteto.

## Update from an Older Version of Wacintaki

### Step 1

Make a backup of your “resource” folder! This folder includes your rules, ban list, pr0n placeholder and preview images, etc.

A complete database backup would be a good idea, too, but if you know how to do that, chances are you've done it already. `;)`

### Step 2

Copy all the files into place, overwriting those that already exist. As of version 1.2.2, Wacintaki will no longer overwrite your rules, banner, ban list, etc.

### Step 3

Wacintaki 1.1.4 introduced a new “hacks.php” file in the resource folder to control cookies and other advanced things. If you have edited your “functions.php” and “header.php” files to share cookies with multiple boards, you will need to copy the changes into the new “hacks.php” file. Do not edit the “hacks.php” file unless you have a good reason to do so.

### Step 4

View the BBS. Some Wacintaki updates will not need to run an updater, others will. The BBS will tell you what needs to be done.

## Update from OekakiPoteto

To upgrade from an older version of OekakiPoteto, carefully follow the directions below. The updater cannot do all of this for you because of how UNIX security works (it can take ownership of the files away from you!)

### Step 1

If you need to go back to your old version of OekakiPoteto, make backups of your dbconn.php and config.php files, and everything in your templates and language folders. Please note that the update.php script does not support downgrading, but keeping backups of your old files is recommended.

### Step 2

Empty the “templates” and “language” folders. It is not necessary to delete the actual folders. This version of Poteto is not compatible with your old templates and language files, and failing to remove the old files can result in problems. Future versions of Wacintaki Poteto may include a template converter/editor.

### Step 3

Upload all the files from this distribution into your old Poteto folder and verify the CHMOD setting of all the files. Use the CHMOD numbers from the installation instructions above.

### Step 4

Move your existing “hosts.txt”, “ips.txt”, and “notice.php” files into the “resource” folder. This will preserve your banlist and notice. You can also copy your “pr0n.png” and “preview.png” images into the resource folder. The resource folder contains all the files that make your BBS unique, like the banner and rules, and all files that must be CHMODed to 664 or 666. Make sure the files are CHMODed correctly after you move them.

### Step 5

Run update.php. If you accidently view the index, it will tell you to run the updater. The update script will give you a number of options depending on which version of Poteto you are already using. You can upgrade from Poteto 4.x or 5.x, or one of the early developer versions of Wacintaki Poteto.

### Step 6

If there is a weird problem, try running the updater again. This will verify the database and rebuild the picture indexes. Note that some database error may still be returned if the updater is run multiple times. Normally, this is not a problem, though errors related to locked folders must be dealt with appropriately. A folder is locked if its CHMOD number is incorrect, and is therefore not writable.

### Step 7

IMPORTANT: After updating the BBS, you will be prompted to press a button to finalize the update. This will remove the install.php and update.php files from the BBS. Neglecting to remove these files can result in serious security issues. If the BBS cannot delete these files for you, it will let you know, and you MUST delete them manually.

### Step 8

The BBS should now be updated. Read the troubleshooting section if you encounter problems.

## Troubleshooting

### Java doesn't work!

As of version 7.51, Java now refuses to run unsigned applets. For artists to continue drawing on an oekaki board, they must go into the Java control panel and add a security exception for each oekaki board they visit. This is a royal pain, but unfortunately Oracle, the company that controls Java, has made this security change permanent. For more information, go to the Java web site and do a search for “Exception Site List”.

The only effective way to bypass this requirement is to sign the applet with a CA signature. This requires you to purchase a signature from a Certificate Authority, requires your hosting service to support HTTPS, and for you to have a reasonable knowledge of the Java security tools.

### Broken animations / unable to retouch images with animations

After a certain Java update, presumably around 1.6.0_r15, ShiPainter animations have not been saving correctly. This results in broken animations that will not play, and difficulty retouching images with an animation. As of yet, I have been unable to track down the issue, and other Java programmers are complaining about similar problems. The issue is that data that is being streamed and compressed at the same time will occasionally become corrupt, and this seems to affect only unsigned applets.

It is not possible for me to sign the applets, and this requires SSL certification, which many free or cheap hosts do not support. I will continue looking into this issue to find a workaround, though I do not have the source code to ShiPainter so there may not be anything I can do.

### Update Notes

If upgrading, do not change the location of your pictures folder or add an image name prefix.

### Installer issues

Many of the installer options may be changed later in the oekaki control panel. Some options that cannot be altered in the control panel are the database fields, the picture name prefix, the name and location of pictures folder, and your admin login.

### Database issues

Make sure your server supports MySQL. Other SQL databases (such as PostGreSQL) are not supported.

You must create a database for the installer to use -- the installer will only set up the database you allocate for it. Check your server's control panel for info on how to create a MySQL database.

When creating a database, some servers will add a prefix to your database name and database prefix without telling you. Make sure your db name and db prefix are correct when you run the Wacintaki installer. For example, if you create a database called “oekaki” and your server account is “bob4261”, your database name may end up being “bob4261_oekaki”.

Do not confuse the database name and database prefix. A database server partitions content into several named databases (name), each of which contains tables (prefix). The database name tells the server which MySQL database shall be used for all your Wacintaki boards. The database prefix tells the database which tables to use for exactly one of your boards. For example, multiple Wacintaki boards may use the database “oekaki”, but each board must have it own prefix. The default prefix is “op_”. If you intend to use mulitple boards with one database, read the Wacintaki manual for more information.

The update.php script can be safely run multiple times if needed. Take note of any error messages it returns, though some database errors are normal if update.php is run multiple times.

If the installer refuses to work, try removing all the databases before re-installing. The installer is supposed to destroy any database tables when doing a clean install, but security restrictions may prevent this.

If you have multiple boards sharing one member profile database, and you want to remove only one board, make sure to only delete the database that contains pictures and comments. If you delete the database that contains the member profiles, all of your boards will cease to function!

### Naming

Make sure capitalization is correct. On some servers, there is a difference between “preview.png” and “Preview.PNG”. Using names in all lower-case letters is recommended.

### Server Errors: 403, 500

A server will return a 500 error when a script is attempting to do something the server does not like. For PHP scripts, this usually means the folders are using access permissions that are too generous, and the server is enforcing a higher security level. It may also mean that “.htacess” files do not work on the server. If you have copied the “.htaccess” file from the documentation folder to the server, try removing it.

A 403 error is when folder or file permissions are too restrictive.

On some servers, if the permissions are too generous, either a 403 or 500 error may be returned.

See the next section on File Permissions.

### File Permissions

Make sure the templates, pictures, and resource folders are CHMODed to 775 or 777, otherwise, the server won't be able to generate the templates, save pictures, or edit your banner, ban list, etc.

Some servers do not allow you to CHMOD folders to 777, and may return a 500 server error. Use 775, which is preferred, anyway.

In very rare cases when 755 is used, a server may return a 403 error, or Wacintaki may complain that a folder is still locked. Try using 775 in these cases. Only folders should have a CHMOD number with a 7 in it. Writable files should always use either 644 or 664.

If your server tells you that you don't have permission to CHMOD any files or folders in your own account, try deleting the files/folders and then recopying or creating them with your FTP program. This is a UNIX/Linux quirk, and may occur when scripts create files automatically.

If you are completely unable to delete any files or folders via FTP, then you must CHOWN the files. Usually, only a system administrator can do this.

### Other Permissions

If you lose your owner status, edit flagrestore.php in the documentation folder, upload it to the BBS folder, and run it. A Wacintaki board is supposed to have only one owner.

### Thumbnails

Thumbnails will only work with servers that have the GDlib graphics library installed and the library has been enabled in PHP. To enable GDlib, open your “php.ini” file and look for the section on Dynamic Extensions. Below, there will be two extensions that are disabled with a semicolon, “extension=gd” and “extension=exif”. Enable both these extentions. Some versions of PHP refer to the GDlib library as “gd2”.

### Templates

If your page looks very plain, go to the control panel and make sure your default template is correct. Remember that old Poteto templates will not work with Wacintaki Poteto. If there are old templates still installed, remove them, then use the “Reset All Templates” feature in the control panel.

If a template doesn't look right, delete the CSS version of the template. A new template will be rebuilt automatically from the PHP template code.

## Help and Support

Please read the manual (specifically, the troubleshooting section) in the documentation folder of this distribution before seeking help.

Before reporting bugs, make sure you have the latest stable version of Wacintaki.

For help using Wacintaki or to report a bug, please visit the NineChime Forum. The forum does not require registration and all questions regarding OekakiPoteto, Wax Poteto, and Wacintaki are welcome.

Please do not ask questions about Wacintaki Poteto on OekakiPoteto forums. Wacintaki functions very differently compared to OekakiPoteto and you may not be able to get any help.

## Credits

Wacintaki Poteto is based on the OekakiPoteto 5.1.0a source, and has been released with permission from Theo Chakkapark. Changes are ©Copyright 2004-2012 Marc A. Leveille. New versions of Wacintaki Poteto and the update.php file may be downloaded from www.NineChime.com/products/

OekakiPoteto 5.x ©Copyright 2001-2003 Theo Chakkapark and Marcello Bastéa-Forte. OekakiPoteto 5.x may be downloaded from www.suteki.nu

Please contact Theo Chakkapark regarding license questions about OekakiPoteto. Please contact me regarding technical issues or bugs with Wacintaki.

See manual.html for a complete list of credits.