| Electronic Manual - SunnyShop
© SunnyScript - www.sunnyscript.com |
| Table of contents | |||||||||||||||||||
Smart
tip:
This handbook is also designed to be printed... set your printer's page
orientation to landscape format, so there is enough space to place hand-written
notes on the left and right margin easily.
|
| General information about shops |
|
Conventions for this document: The expression "shop" refers to the entire shopping mall and the terms "store" or "table" means a shop's department (e.g. group of similar items or a line of products; explained more detailed below). SunnyShop is compatible with
all types of currencies and all types of mass units (any specific shown
is just an example).
|
| Successful shop planning... |
|
1. Multiple stores and/or product categories: SunnyShop is able to host multiple stores under one roof as well as different product categories within each store. So if you sell very similar goods or a small amount of different products, you just may create one store and divide your products into categories (e.g. a carpet store separated into "wool carpets", "polyester carpets", ...). However when distributing a wide range of products, it is recommended to create multiple stores (departments) and then divide each one into categories (e.g. stores for carpets, wallpapers, paints, ..., each having its own detailed sections). There is no general rule to say when it's time to create multiple stores instead of just having one store with different categories. But you should prefer creating multiple stores instead of a wide-spread category system for increased performance. 2.1. Determine required product database fields: All stores have its own product databases able to manage a theoretically unlimited number of fields; each field holds product related data, like its name, description, pictures, price and other information you want to show to the customer. Although it is possible to add, modify and delete fields later at any time, it is recommended to create a list of all required fields beforehand. In this way, you can ensure having a consistent and logical data structure. 2.2. Assign field types and edit controls: Field types describes the content of the concerned fields closer. By default, SunnyShop uses the type "text" which accepts any input - but it can be wiser to be a bit more specific (e.g. a field like "Product picture" should be set to the type "image"). Edit controls determines how particular fields are displayed internally. By default, SunnyShop uses a single input line. But it is possible to use any edit control supported by HTML (like text boxes, radiobuttons, drop-down lists, checkboxes, ...). Please take some time to work out suited field types and edit controls. Especially when having different people working on one database, meaningful settings will increase data consistency dramatically - and so, this makes it also easier finding a product. Helpful hint: Confused about all this stuff ? Don't worry, the correct usage will be explained later. At this stage, you should just have a basic understanding of the shop structure. 3. Shipping, taxes, invoices & more - behind the scenes: SunnyShop provides versatile settings for shipping and payment methods, tax handling and invoice management. The basis is a system of different consumers groups, each allowed to have its own preferences. Each consumers group may reflect a list of specific countries and continents or a specific type of customers (e.g. retail and wholesale ones); depending upon your requirements, also other classifications are possible. 4. Check all of your planning steps: Last but not least you should go carefully through your planning again and again. It's a matter of course that you can modify all settings later when your shop is finished, but some planning may save valuable time and efforts. Helpful
hint: We recommend to test your new shop carefully before celebrating
the grand opening, e.g. by inviting selected people to evaluate it or by
running internal beta-tests by yourself.
|
| Shop size vs. system resources... |
|
SunnyShop is highly optimized and supports shops with an unlimited number of different products, so the performance mainly depends upon the used server type and available system resources. In a common system environment,
you don't have to take care about this issue. However if you have more
specific questions regarding this topic, please contact SunnyScript's customer
service department for personal assistance.
|
| Administration panel | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The administration panel is a convenient way to work interactively with SunnyShop. You can start the admin panel by calling admin.cgi with your favorite web browsing software:
How to access your shop:
Helpful
hint: Instead of the main entrance, it's also possible to show
a specific store, product category or even product first. Please refer
to the chapter "Shop-frontend and template management" for more information.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Admin menu... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This screen allows the following actions:
The top menu line provides
additional selections (depending on the current system status):
|
| Shop settings adjustment | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Edit shop parameters... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
First of all you must configure basic system settings which take effect to the behavior of the software. Click on the button "Edit shop parameters" when you're in the admin menu. General settings:
Security settings:
Primary currency settings:
Multi-currency settings:
* Requires a JavaScript capable web browsing software to enable this feature on the shop-frontend. Measuring units:
Order logging settings:
Popular products: SunnyShop is able to rate
products by popularity (based upon the number of shopping cart additions).
In this way, you can let advertise bestsellers automatically. Popular products
are generated for each unique store category.
Shopping cart layout:
Ordering options:
"Recommend this product"
feature:
"Bookmarked" products: SunnyShop can remember products previously ordered by a particular customer and show them at a later time again for direct placement into the shopping basket. This feature is excellent
for selling goods and services which are often re-ordered, because it saves
time and prevents people to always search for the same articles in the
stores.
After you have verified all settings carefully, click on the button "Save parameters" to take over modifications to the system. It is also possible to bring back previous values with the "Let the script restore defaults" button. "Out-of-stock product" notification: More information is available at the chapter "Store management", part "Warehouse management and quantity handling". "New products / updated products" notification: More information is available at the chapter "Store management", part "Warehouse management and quantity handling". Order status change notifications: SunnyShop is able to notify
the customer when the status of an open order changes (at table of orders).
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Consumers groups - overview... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Consumers groups are used by SunnyShop to allow individual tax, shipping, payment and discount preferences for a particular group of customers (e.g. wholesale/retail), locations (e.g. countries/continents) or any other desired unity. During the checkout procedure, customer selects the matching consumers group. Should you just have one consumers group active, it is automatically taken without the need to select it; however at least one group is mandatory. Click on "Edit shop parameters" (see main admin menu) and go to "Edit consumers group settings" in order to access the consumers groups parameters. How to create a new consumers group: Type in the name of the new group (e.g. "European customers") and click on the button "Create new consumers group". How to edit / remove a consumers group: Select the consumers group from the list, click on "Delete" or "Edit" and follow the provided instructions. How to change the sorting of consumers groups: Select the group you wish
to move around and click on either "Move up" or "Move down" button to change
its position (this affects the group's order within the list appearing
during the checkout process).
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Consumers groups - available consumers group settings (part 1)... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Consumers group name:
Order restrictions:
Order form template:
Shipment (single shipping method): Pre-requisite for weight / volume based shipping: For weight-based shipping,
system field _weight
is required; for volume-based shipping, system field _volume
is required. Both must contain the weight or volume intended to calculate
shipping charges. Format: 12.34
(without any prefix or suffix).
Shipment (multiple shipping methods): When selecting multiple shipping
methods, set your own range of shipping methods here. Please refer to the
end of the screen "Editing consumers groups". There you'll find "Edit shipment
methods":
Edit shipment method: After you've selected to
create or edit a shipment method, the following screen appears.
Value added taxes:
Discounts:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Consumers groups - available consumers group settings (part 2, payment methods)... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Free of charge: This payment method is suited
when handling "free" goods, like ad brochures & catalogues or free
product samples.
Offline payment: This payment option applies,
when you handle payment processing outside (orders are only taken, no invoices
generated).
Send invoice: This payment option will
create a customizable invoice for each order.
Credit card real-time processing: This payment option requires a "merchant account" registered at a payment processor. In this way, you can handle credit card payments electronically through an online payment system. Usage note: If you process credit cards by yourself (e.g. via terminal or an electronic cash register), please refer to the payment option "Credit card manual processing" as described later. Passing back order details from the credit card processor to SunnyShop: After a payment has been processed (no matter, if accepted or declined), the payment processor must hand over the results back to SunnyShop. For this application, the program passback.cgi is intended. Instruct your credit card
processor to transfer all data to passback.cgi
of your SunnyShop installation:
And here you can see how
to configure SunnyShop to work together with a payment processor...
Credit card manual processing: This payment option is suited
to accept credit cards for manual processing (e.g. via terminal or an electronic
cash register).
Payment details by phone or fax: This payment option is suited when using a 3rd-party payment system working with reference IDs or when you desire to get credit card details sent by fax. Following applications may be handled with this payment method: * 3rd-party payment systems where customer receives (after successful payment) a confirmation ID that needs to be submitted by the customer to you (either by phone or fax). For example, paying by phone bill or credit card acceptance via call center. * 3rd-party payment systems where customer pays cash and receives a confirmation ID that needs to be submitted by the customer to you for collecting payment. For example, money transfer companies or special banking transfer services. * High-risk environments
(e.g. blacklisted countries with high rates of credit card abuse) requiring
you to take credit cards only by fax, perhaps together with a photocopy
of the original credit card for verification purposes.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Store management | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Manage your own stores... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
SunnyShop is able to manage as many different stores or departments as you like within your shop. Each store (respectively a shop's department) is called "product table" in the admin panel. Because each product table has its own preference settings, completely different lines of products can be handled under one roof. This chapter explains the store management and all product table features. Usage
note: Some of the features described here apply also to system
tables (please refer to the next chapter for details). Where applicable,
we have this pointed out with a note in the headline.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Create and edit stores (product tables)... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
First of all, call the admin panel and go to the part "Create new products table". Now just follow these steps:
After this is done, just click on the "Create new table" button in order to create the new product database. By the way: You can add and remove system fields manually later at any time; so if you are unsure about an optional setting described above, just leave it empty and read more about it below in this manual. * Applications of the "Add to cart" column: The "Add to cart" link is used to put items into the shopping basket; therefore it is absolutely necessary when you want to allow customers to order products (common application). However there are some cases not to use it: Announcements: Introduce new products, before starting the official sale. Seasonally sold products: Create the product table beforehand and add the "Add to cart" link when starting the sale; after the sale season is over, simply remove the link again. Product catalogue: Provide a product catalogue without the ability to place orders online. Why is there an ID field in each product table ? This field is required for some internal functions of SunnyShop (mainly used to distinguish records). Normally, you don't need to take care about this field, so just ignore it. Some other applications of the ID field are described in the next chapter "Shop-frontend and template management". If desired, rename the ID field or make it editable to hold specific data (content must be unique for each record in table). Technical
note: Since each record must have a unique ID field value, this
field is of autoincrement type by default.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Create product table fields... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
What is a field ? Fields are used to hold any product information as well as binary content (like images or downloadable documents). How to create fields ? Choose the desired product table and select "Restructure table". Alternatively click on "Restructure" in the upper right corner of the screen. If you just created a table, this page appears automatically. Go to "New field name", type in the desired name and select the data type. In order to finish action, click on "Create new field". There are also various system
fields available, required for advanced features. Type in the field names
exactly as they appear in the following list to enable the concerned feature
(refer to following chapters for details):
After a field was created
successfully, the screen "Field properties" appears (see next part of this
chapter for details).
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Edit or remove existing fields... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Select the desired table and choose "Restructure table" from admin panel. Alternatively you can click on "Restructure" in the upper right corner of the screen. How to delete a field: Look for the field you wish to remove from the table and click on "Delete". However, please note that once a field is removed, all related content will get lost and cannot be recovered. By the way: Table parameters are automatically updated and concerned field becomes removed from these settings. How to change sorting of fields: Look for the field you wish to move around and click on either "move up" or "move down" to change the field's position. How to edit a field: Look for the field you wish
to modify and click either on "Edit" or the field name. Now the screen
"Field properties" appears. Depending of the selected field, you can modify
these options:
Important
notes: If you edit a system field, some of the settings above
may be not available for selection. Don't touch pre-filled settings for
system fields, you may negatively affect their behavior.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Category handling... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Categories are used to classify products hosted at a particular product table. In order to enable them, please add the system field _category to the concerned table (it is handled by SunnyShop to store category related data). From admin panel, select the desired table and choose "Edit table categories". Alternatively you can click on "Categories" in the upper right corner of the screen. How to create a new category: Type in a category name and short description (optional; can be displayed when browsing by categories). Now click either on the button "Add new top-level category" to create a new main category or "Add new category inside current category" to add a sub-category within the currently selected category. How to edit a category: Click on the ID of the category
you wish to modify:
In order to take over the changes to the system, click on the button "Save". How to delete a category: Select the ID of the category you wish to remove and then click on the appropriate deletion button to remove the concerned category from the table (please be careful when doing so; once deleted, categories cannot be recovered). Important note: Product records related to removed categories are re-assigned to the table's root category. Category trees - overview: SunnyShop comes with a feature allowing website developers to implement an interactive JavaScript-powered category tree to websites in just a few minutes. Ideally suited for easy store navigation on category-based product tables. Each tree is built with graphical elements and can be individualized to allow highest flexibility. It is also based upon an own template (sstree.htm), so even surrounding HTML elements are possible. Category trees - website implementation: Call sstree.cgi
to display a table's tree:
Implementation by using SSI-tags: Example: <!--#include
virtual="/cgi-bin/ss/sstree.cgi?tbl=TABLE"-->
Technical note: Remove all HTML initializing tags from template sstree.htm (mainly <HTML> and <HEAD>) to avoid display errors caused when inserting the category tree codes into an existing webpage via SSI. Important note: In order to use category trees, at least the permission "Search" is required for anonymous users. Category trees - available settings: Choose the desired product table and select "Restructure table". Alternatively click on "Restructure" in the upper right corner of the screen. If you just created a table, this screen appears automatically. Now click on the button "Edit treeview parameters". Layout options:
Drawing icons:
Folder/leaf icons:
Root category:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Table maintenance... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Select the desired table and choose "Restructure table" from admin panel. Alternatively you can click on "Restructure" in the upper right corner of the screen. How to remove a table (be very careful): Go to "Delete table" and then click on "Delete files". You can either remove parts of this table or the entire database structure. How to clear selected table files (be very careful): Go to "Empty table", select the appropriate files you wish to clear and then click on "Clear data" to carry out this action. How to rename a table: Go to "Rename table" and
specify the new name. Click on "Rename" to take over the changes to the
system.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Product options (also price-/weight-/volume-affecting)... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Possible applications: Options in general are used to allow the selection of product attributes, like different colors, sizes or accessories. Furthermore, SunnyShop also handles custom text input, that may be used for greeting cards or individualized goods. SunnyShop supports standard options as well as price-/weight-/volume-affecting options, which can either increase or decrease the product's price, weight, volume or any combination of them. How to enable options for a product table: Add the system field _options to your product table or mark "Include product options field" when creating a new one. How to add options data for a particular product: Go to the admin panel, click on "View/Add/Update/Delete records" and add a new product or update an existing one. You've two choices of adding options: Manually or with some help by the software. Both methods are described now: Create / edit option strings
manually:
Usage notes: The combination of multiple options (also options of different types) for the same product is possible. Products with/without options can co-exist together in one table, since options are specific to each record. Technical note: When detecting a syntax error in the option string, SunnyShop stops further parsing and displays only correct options parsed earlier than erroneous one. So error tracing can be done easily and data stays always consistent. Create / edit option strings automatically: Select the desired type of
option field you wish to create ("New option" or "New text input"):
Special applications of price-/weight-/volume-affecting options: Price-affecting options are also ideally suited for granting volume discounts. Just let the customer select the package size (e.g. 100 screws, 1000 screws, etc.) and calculate the amount influencing the normal price. Weight-/volume-affecting
options could be used when combining heavy or large products with options
together and wanting to charge shipment based upon weight and volume (e.g.
a personal computer with optionally offered CRT-display and printer).
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Product time management... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
General information: SunnyShop provides the ability to schedule the appearance and disappearance of product records. There are several ways to set appearance dates, expiration dates and periods (e.g. based upon record creation date or last record update, for the entire table or unique for each record). Pre-requisites for automatic record expiration: Maintenance interval: Ensure that a maintenance interval is specified. Please see screen "Table parameters", "Table automatic maintenance". Recommended range: 3600 to 43200 seconds (1 to 12 hours). Technical note: Record appearance tasks are automatically handled when accessing the concerned table. Appearance... table-wide appearance date (valid for all new records): Add system field _effective_since and type in the following string as "Default value" setting at "Field properties" screen:
<x>: Number of days counted from record creation till appearance. Usage note: This string is a special command, only valid for the above particular application. Appearance... individual appearance date for each unique record - absolute date: Add the system field _effective_since which contains the date of first desired appearance (format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS). It must be filled during record addition; leave field empty to make the record available immediately. Appearance... individual appearance date for each unique record - relative date: Same procedure as done for a table-wide appearance date, but don't set a default value for _effective_since, just use "Appears in <x> days" individually for each created record as field value. Expiration... table-wide expiration date (valid for all records): Ensure that either the system
field _add_datetime
or _update_datetime
is present for the concerned table - based upon these date/time stamps,
the expiration dates are calculated:
At "Table automatic maintenance"
(see "Table parameters" screen), you'll find the record expiration settings:
Expiration... individual expiration of each unique record - absolute date: Add the system field _expires which contains the date of expiration (format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS). This field must be filled during record addition; leave it empty to disable expiration for a particular record. Important note: Setting an expiration time (see above) is required also here to determine a maximum applicable time frame; you may wish to set the expiration time parameter to a high value, like 3650 days (about ten years). Expiration... individual expiration of each unique record - relative date: Alternatively to the date input described before, simply type in this as "Default value" setting for the field _expires:
<x>: Number of days counted from record creation till expiration. Usage note: This string is a special command, only valid for the above particular application. Expiration... combination of table wide and individual expiration dates: If _expires
and one date/time stamp as well as an expiration time exists, then the
expiration date in _expires
applies.
General priority of date/time
stamps and expiration field: _expires,
_update_datetime,
_add_datetime.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Product associations... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Product associations - overview and applications: Product associations are used to show related products when viewing a particular record in detail. So they are ideally suited to focus customer attention to accompanying products. Sample associated products: DVD recorder -> DVD media and connection cables; mobile phones -> batteries and bags. So let's say, anything customer needs additionally when buying a particular good. How to enable product associations feature: Add the system field _related_products to all desired product tables or mark "Include field for related products" when creating a new one. How to add or delete product associations: Go to the admin panel, click on "View/Add/Update/Delete records" and add a new product or update an existing one. At the field "Related products" you find a list of all products currently available on the entire system: Target box (current selections): Contains all associated products. You may delete entries again by removing the matching lines. Source box (available selections): Choose an associated product and click on "Add" to select it. The button "Search and mark" allows you to search the source box content by typing in a phrase or string. All matching product records are selected and can be taken over with a single click on the "Add" button. Technical note: The edit control requires JavaScript being enabled; however JavaScript is not required at the shop-frontend. Usage note: When deleting a product, SunnyShop automatically removes all product association references pointing to this record avoiding dead related links being shown in other product records. How to customize a selected associated product: All entries at the target box are editable allowing you to modify the displayed product name (<Product name>) and also to add a separate description (<Product description>). Format: <Table>:<ID>:<Product name>:<Product description> <Table>, <ID>:
Fields to identify an associated product; change them with care only.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Warehouse management and quantity handling... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Warehouse management - limited product quantities: If only a given amount of items is available for some products, SunnyShop can deduct all ordered items from the total quantity. Add the system field _quantity to your product table or mark "Include field for available quantity" when creating a new one. As value for this field, simply type in the amount of pieces you have in stock for each product or leave its value empty in order to disable quantity limitations for a particular product. When the quantity reaches "0", the concerned product is no longer allowed for being placed into the shopping basket. In order to let disappear products with zero quantity at the shop-frontend, enable "Hide 'out of stock' goods" parameter. Mark "Deduct ordered quantity from products with limited quantity" for all accepted payment methods to let SunnyShop deduct ordered goods automatically or edit each incoming order and mark the "Deduct now" checkbox there. If you wish to bring back items for a particular order (e.g. order cancelled), then mark the "Return to store now" checkbox within the concerned order's record (also see the chapter "Office tools management" for details). In order to bring back a sold out product or just to increase the available stock, modify the _quantity field value in the product record reflecting the newly existing quantity. Warehouse management - limited product quantities per order: You can limit the quantity of a specific product available for each customer per order (this is especially helpful when offering freebies or specials you don't want to make available in large quantities). Add the system field _quantity_per_order to your product table or mark "Include field for quantity limit per order" when creating a new one. As value for this field, simply type in the max. number of items, one particular customer can put into the shopping basket at a time. Leave its value empty in order to disable quantity limitations for a given product. Warehouse management - stocktaking: In order to get an overview about all products currently on-stock, click at "View stock" available at the top menu line. Provided results are shown in ascending order (so out-of-stock products appearing at first position). Pre-requisite for this feature: The system field _quantity is required at desired product tables. "Back again" customer notifications: When a product sold out (as tracked by _quantity), it is possible to keep the product staying visible at the shop-frontend allowing interested customers to subscribe to a special mailing list that informs them as soon as the product returns. In order to enable this feature, please add the system field _onstock_maillist to the desired product tables (it is required that these tables are also using the _quantity system field). Notifications are sent as soon as _quantity value of the product in question is increased (from zero to a higher number). The matching mail template can be modified at the "Templates editor" screen. Important note: There will be no notifications for products returned on stock when cancelling orders (to avoid a cancelled order making one single item available again (that may be already shipped or even broken) causes to inform dozens of people). "Out-of-stock" and "low stock" admin notifications: When using the stock management feature of SunnyShop, it can notify you via e-mail in the case a particular product is at low stock or has been completely sold out (at screen "Edit shop parameters", "'Out-of-stock product' notification"). Pre-requisite for low stock warnings: The system field _quantity_low_limit is required in product tables. For each product record, this system field's value must contain the number of items reached before a low-stock warning is sent to the administrator. There is no general rule
for determining the best-suited low quantity limit - it should be high
enough allowing you to re-add items before the product is sold out and
it should be low enough to avoid having too many items on stock which may
be never sold.
"New products / updated products" notification: It is possible to inform customers about new or updated products automatically. This is a useful feature to cause attention for the latest additions or changes (like in pricing or available options). Pre-requisite for this feature: User must have agreed to receive mailings (system field _subscribed checked). In order to enable this feature,
please add the system field _manually_updated
to the desired product tables (it will contain the last date of manually
done record modifications; independent from _update_datetime
tracking all record alterations).
Sending "new products / updated products" notifications: It is required to initiate sending these notifications either manually (use link below headline) or by scheduling nph-cron.cgi being executed daily by Cron (this works also with other scheduling tools). By
the way: If you are new at scheduling server actions, please
contact your webhoster for details or refer to available literature. Alternatively
you may use the Cron editor we provide (call cron_edt.pl
from the command line, e.g. "perl5 cron_edt.pl").
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sale analysis... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
SunnyShop offers a large scale of statistical information suited to track the success of your store. In order to access these statistics, click on "Sale analysis" located at the main admin menu (see "Order information"). Here you can select the desired
time period (date range, month or year) as well as the following report
types:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Images / Binaries / Memos... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
You can have multiple image fields as well as binary fields and memos in each product table. Just create a table field and set its data type to "image", "binary" or a memo one. Depending on your selection, the concerned field has a specific behavior:
By using the parameter "Max. size" at "Field properties", you can specify the maximum file size in bytes allowed for uploads. Important
note: It is not possible to perform search operations upon these
fields' content.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Temporarily blocking of product records... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
An existing product record can be blocked, so it is not available at the shop-frontend, but still in its product table. In order to enable this feature, you must have the system field _blocked in your product table. Usage note: Blocking records is useful for temporarily sold out or just seasonally available products. How to block a record: Search for the concerned record to block, click on "Update" (can be found in the upper right corner of the screen) and then just check the appropriate button (edit control of the field _blocked). How to unblock a record: Search for the concerned
record to unblock, click on "Update" (can be found in the upper right corner
of the screen) and then just uncheck the appropriate button (edit control
of the field _blocked).
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| User voting and comments of products... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This allows your customers to rate products and leave comments for them. How to enable voting and/or comments for a product table: Add system field _rating
to the table to allow user ratings. Optionally add system field
_votes
to count number of ratings.
Technical
note: Admin can remove unwanted comments by editing the
field
_comments_data
of the concerned record.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Automatic backup generation (applicable to product and system tables)... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
What exactly is backup generation ? EasyData is able to generate backups of its data files automatically to allow restoring them later. Generated backup files (extension .db.bak) are located within the "data" directory. Pre-requisites for generating backups: Maintenance interval: Ensure that a maintenance interval is specified. Please see screen "Table parameters", "Table automatic maintenance". Recommended range: 3600 to 43200 seconds (1 to 12 hours). Important note: The backup update period must be longer than the specified maintenance interval. Enable / disable backup generation: Select the desired table and choose "Restructure table" from admin panel (either within "Manage product tables" or "Manage system tables"). Alternatively click on "Restructure" in the upper right corner of the screen and click on "Edit table parameters". Go to the part "Table automatic
maintenance" to find the appropriate settings:
Technical notes: In order to disable the backup feature, set "Number of backup files" to 0 or leave it empty. New backups are not generated for unchanged files (since backup already exists). Recommended backup settings: Maintenance interval = 3600;
number of backup files = 4; backup file #1 update period = 6
TABLENAME.db.bak1
holds 0 to 6 hours old database content.
<TABLENAME>: Name of the table, concerned backup file belongs to. Retrieve data from backup: If you wish to roll-back a corrupted data file, just replace the original file with the latest error-free backup copy. Before doing so, please ensure that the table definition did not change recently (e.g. by adding new fields). In this case, the table definition needs to be set to the configuration of the data file to restore. Important note: Restoring data files should be managed by an experienced system administrator only. In case of emergency, SunnyScript can provide you with special assistance to professionally handle this task (optional fee-based service). Helpful
hint: In order to create a backup of an entire database, you
may use the "Download/upload table package" feature.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Re-randomization (applicable to product tables)... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
What exactly is re-randomization ? When browsing categories or viewing search results, all shown product records are presented in a given order. However in some cases, you may wish to achieve a random order (e.g. to provide a fair rotation of products). The re-randomization feature allows to fill one or more table fields with random numerical values; these fields can be used for sorting records by chance. Each table maintenance, the field values are refreshed and so also records are sorted differently. Pre-requisites for re-randomization feature: Maintenance interval: Ensure that a maintenance interval is specified. Please see screen "Table parameters", "Table automatic maintenance". Recommended range: 3600 to 43200 seconds (1 to 12 hours). Create a "randomizable"
field:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Search requests statistics... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The search requests statistics shows how people are using your product tables regarding search queries. All search queries are logged and then presented in a comprehensive graphical report searchable by date/time and sorted by usage frequency. You can use these statistics for various marketing and performance analysis (e.g. most popular search queries, behavior of the users when doing search operations) or just for your personal interest. How to enable search requests logging ? Pre-requisite for this feature: Ensure that a maintenance interval is specified. See screen "Table parameters", "Table automatic maintenance". Recommended range: 3600 to 43200 seconds (1 to 12 hours). Go to the screen "Table layout
parameters", "Search requests logging":
Sending of statistics
via e-mail: See also "Table layout parameters" screen, but now part
"Table automatic maintenance":
How to access the statistics ? Click on "Search stats" available in the upper left corner of the screen to access the statistics of the currently active table. Search requests statistics
form:
Smart tip 1: The generated reports can be printed easily: Depending upon the used paper size, you may need to set the printer's page orientation to landscape format. In this case, there is also space for placing hand-written notes at the margins. Smart
tip 2: Since SunnyShop doesn't use image files to create bar
graphs, you can simply copy the report to a disk and carry it to other
computers, still keeping the layout (reports are generated in HTML language).
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| View, add, clone, update and delete product records... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Go to the admin panel, select the desired product table and choose "View/Add/Update/Delete records". On the following screen, you may browse through all categories, search for products, add new ones, remove, update or clone existing products and do all other database administration tasks (see menu on the upper right corner of the screen). Technical note 1: When updating records, all fields are shown regardless of the "Visible fields" settings at "Table parameters" screen for convenience reasons (however other screens in admin panel considers these preferences). Technical
note 2: Cloning a product means to take over all field values
from an existing record to a new one showing the "Update record" screen.
It is not possible to clone fields of type "image", "binary" and "uploadmemo".
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Database import and export tools... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
In order to import or export data, click on the button "Import / export data" available on the main admin menu. Import data into database: Click at the button "Start
data import..." to begin reading in an existing 3rd-party database.
Click on the button "Import data" to start the importing process. After it is finished successfully, please check the read in data for consistency first. It is also recommended to keep a backup copy of all original database files for later references. Technical note: Data formats "... with field names" requires that the first line of the importable file holds the names of the fields. Alternatively, default names are chosen you can rename later at any time. Importing already uploaded source files: This feature is useful especially when trying to import huge databases, because the file size allowed to read in through the admin panel may be limited by your server or webbrowsing software... Just place the source file into the directory data/import.tmp. Now go to the admin panel, click on "Import / export data" and select the concerned file from the list (see parameter "Determine data file being uploaded"). Export data from database: Select the appropriate source
table and click on "Continue..." to go to the next screen.
Now click on "Export data" to start the exporting process. A "save file" dialog is shown by your web browsing software to store the exported data file on your computer. Advantages of the "EasyData exchange format": The "EasyData exchange format" is a tab-delimited text-based format also storing binary field content, like images or software files together with the textual data (URL-encoded). Where possible, this format should be used for data import and export tasks to ensure best results when handling non-textual contents (all other supported formats cannot handle binary fields). Technical note: If you are a programmer interested in implementing our exchange format into your own applications, please let us know. We are able to provide you with additional information upon request. Helpful hint: Should you wish to manually back up an entire database or to carry an existing one over to an other SunnyShop installation, you may decide to create a "table package" as described more closer in the following. Table packages - overview: A table package contains an entire database (the table and all related elements) in one single file (TABLENAME.ede). So table packages are ideally suited for carrying an entire database to an other server or for generating manual backups. Download table package:
Now click on "Download table" to save the table package. A "save file" dialog is shown by your web browsing software. Upload table package:
Now click on "Upload table" to copy the table package to the server. Technical note 1: Should there already exist a table with equal name, SunnyShop chooses a new name for the uploaded table (may be changed later at "Restructure table" screen). Technical
note 2: The choices "Use internal GZIP compression" respectively
"Use internal GZIP decompression" for table package down- and uploads are
only available, if there is the Perl module "Compress::Zlib" installed.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Office tools management | ||||||||||||||||||||||||||||||||||||||||||||
| Manage the office behind your shop... | ||||||||||||||||||||||||||||||||||||||||||||
|
Overview: SunnyShop is much more than just a shopping cart. It also provides various office management tools, like a customer address database, order and invoice handling as well as electronic newsletters. In the following we explain
how to use these features. Before you proceed, you should have been read
the previous chapters (some matters are described there we have considered
as being known).
|
||||||||||||||||||||||||||||||||||||||||||||
| Registered users database... | ||||||||||||||||||||||||||||||||||||||||||||
|
Overview and typical applications: The "table of registered users" (customers) available on the main admin menu holds all information about customers that have created an own user profile on the system previously. Registered customers profit from a faster checkout process (address details are pre-defined). In addition, you are able to send out mailings as well as get some statistical information from the stored data. Some usage examples: You can use "View records" in order to search for specific parameters, like age or origin of your customers and so find out what kind of people your shop attracts - the ideal basis for creating sales statistics and do targeted marketing. Add new fields to request further details during registrations to get a clear picture about your customers or ask for information which are required to have for your business. Inform registered customers about upcoming new products, special events and company news by sending mailings and regular newsletters. And with personalized mails, you may achieve much more attention. "Table of registered users"
settings (accessible from the main admin menu):
Change table parameters and layout of registered users table: Important note: Since these are very similar to the ones of the product tables, please refer to the previous chapter for details. We have explained only additional or modified parameters here. Behavior (experienced
users only):
Permissions:
"Password reminder" utility:
Templates substitution: If you wish to use your own templates instead of the pre-defined ones, please select your desired templates here (more details about templates can be found below). "--use default--" will activate the standard template for concerned output. Helpful
hint: If you're unable to find your recently created templates
within the lists, hold CTRL or SHIFT key and click on the "Reload" button
of your browser software to reload the browser window (to replace an old
copy in cache).
|
||||||||||||||||||||||||||||||||||||||||||||
| Order and payment tracking... | ||||||||||||||||||||||||||||||||||||||||||||
|
Overview and typical applications: This powerful back-end feature allows you to watch about incoming orders, track payments and more. Watch incoming orders & track payments: Use "View orders" to see a list of all orders currently active on the system. You may also search for specific ones, e.g. by using the automatically assigned order number (request this number from customers in case of inquiries). Orders which have been fulfilled, can be removed or just marked as being paid (field "Payment confirmed"). Print address labels: You can generate address labels for packaging as well as other purposes (e.g. mailings, reminders). Please refer to the part "Print address labels" within this chapter for more details. How to cancel or modify a particular order: Simply remove the matching order and invoice records from the system and ask the customer to place a new order by using the shop-frontend or modify the order and invoice records accordingly (take care to keep system data consistent). Alternatively to removing an order from its system table, you can simply mark the "Order cancelled" checkbox and so keep the order record alive (e.g. for later reference). If you use the _quantity system field to manage product quantities, please update the concerned order before removing it to re-add deducted products back to stock (mark "Return to store now" checkbox within the order). Usage note: Where applicable, please ensure to provide a chargeback for made payments; this task is not done automatically. "Table of orders" settings (accessible from the main admin menu): Important
note: Since these are very similar to the ones of the registered
user tables, please refer to this part for all details.
Auto removement of orders: See screen "Table parameters", part "Table automatic maintenance" / "Records expiration". Specify the number of days after order creation, before an order is removed automatically from the system. Mark "Auto. remove only if payment confirmed" to ensure that only orders are deleted, for which payment has been received. Pre-requisite for this feature: The maintenance interval
must be set for this table; recommended range: 3600 to 43200 seconds (1
to 12 hours).
|
||||||||||||||||||||||||||||||||||||||||||||
| Invoice management... | ||||||||||||||||||||||||||||||||||||||||||||
|
Overview and typical applications: The table of invoices is mainly used for internal purposes to create printed invoices for each order processed by SunnyShop. So you are able to take over invoices from SunnyShop directly to your bookkeeping. Search for invoices and print them: Use "View invoices" to see a list of all invoices currently available on the system or search for a specific one. Click on the link "printable" (invoice number) to see the appropriate invoice ready-to-print or click on the order ID for a web-like formatting. "Table of invoices" settings (accessible from the main admin menu): Important
note: Since these are very similar to the ones of the registered
user tables, please refer to this part for all details.
Auto removement of invoices: See screen "Table parameters", part "Table automatic maintenance" / "Records expiration". Specify the number of days after invoice creation, before an invoice is removed automatically from the system. Pre-requisite for this feature: The maintenance interval must be set for this table; recommended range: 3600 to 43200 seconds (1 to 12 hours). Technical
note: As soon as an invoice becomes removed from this table,
customer is unable to create a printed invoice by using the link within
order confirmation mails. So set expiration period on a large scale.
|
||||||||||||||||||||||||||||||||||||||||||||
| Print address labels... | ||||||||||||||||||||||||||||||||||||||||||||
|
For order processing or additional correspondence (like mailing campaigns), you can print customers' postal addresses as available at the table of orders (this requires that an order you want to print labels for is still existing at this system table). Address labels are provided for being downloaded as text file to your local computer. The layout can be fully customized to match any paper dimension and other requirements by editing the template. Go to the main admin menu
and click at "Shipment address label printing" available within "Order
information".
Now click on "Download address labels" to start the download process. A "save file" dialog is shown by your web browsing software to store the label file on your computer. After downloading finished,
you may open the file in a word processor or spreadsheet for further processing
and printing.
|
||||||||||||||||||||||||||||||||||||||||||||
| Send out mailings... | ||||||||||||||||||||||||||||||||||||||||||||
|
In order to create a mailing, select the desired table and choose "Send out mailings" from admin panel. Alternatively you can click on "Mailings" in the upper right corner of the screen. You can send out mailings either to all record owners of a selected table (recipients filter set to "Send to all") or just mail such people who have allowed you to do so (recipients filter set to "Send to subscribed users only"). Mark "Do not send duplicate e-mails" in order to send only one single mail, even a particular address is found multiple times. Reach the correct recipients: Table of registered users:
General mailings to all registered customers (e.g. new product announcements,
company news).
Custom recipients filter: You can specify a search query that filters only recipients matching particular criteria. It is possible to use any field available in the table this mailing is intended for. Click on "view filter results" to get a listing of all selected records. For example: income>=3000
AND education="high"
Usage note: For more details about how to perform search operations, please refer to "Searching of databases (tables)" below. Personalized mailings: Personalized mailings contain
an individual "To:" field for each recipient. In addition, you can include
fields from the concerned table (format: <!--$FIELDNAME-->)
which are replaced by appropriate content.
Sample personalized mailing:
Technical note: If "Do not send duplicate e-mails" is marked, a recipient with multiple records receives mail for the first found record only (and so will just see content of table fields for this specific record). Quick mailings: Quick mailings are used to
send identical messages to all recipients (faster processing). However
the usage of personalized elements is not possible (included table tags
are removed automatically).
Intelligent mail content delivery: The most powerful feature is the delivery of intelligent message parts based on a record's content and "if/then/else" conditions. So a mailing can be written absolutely targeted, which leads to higher response rates and increased user convenience. Important note: This works only with "Personalized" mailing method. "Quick" mailings will ignore intelligent message parts. Each "intelligent message
part" has the following structure:
Usage notes: "if" and "endif" tags are required, while the "else" part is optional. Recurrent tags may also be used. <expression> can contain
these operators:
Format of field values: $fieldname (field names are handled case-sensitive). Sample applications (non-recurrent
tags):
Usage notes: Second sample does not have an "else" tag, which means that a false result will lead into not displaying anything. Should a field value be unavailable (spelling error, non-existing field), then the argument is considered as being empty. Technical note: It is also possible to use HTML and client-sided scripts (like JavaScript) within intelligent message parts. Sample application (recurrent
tags):
Usage notes: Parts in green text belonging together. Do not forget to close all "if" tags avoiding malfunctions. How to perform a test of personalized and intelligent mailings: In order to let the system process a sample message, click on the button "Send test message to admin". The system then generates a mailing, which is sent to the administrator under real life conditions. And these default values are used: Numerical = 0; date/time related fields = actual date/time; URLs = http://test.<fieldname>/; e-mail addresses = test@<fieldname>.test; fields in general = test-<fieldname>. Smart
tip: Have a look at MailingStar
(plus) - professional mailing list management and e-mail marketing
software.
|
||||||||||||||||||||||||||||||||||||||||||||
| Shop-frontend and template management | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Access the shop-frontend... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The shop-frontend of SunnyShop is very powerful, but convenient to use and clearly structured. All parts are fully self-explaining and even first time Internet users may be able to work with this attractive interface. How to access your shop:
However you may also use the following ways to access your shop, for example to forward people directly to a specific store, category or even a particular product (e.g. ideal for advertisements). Access a specific store
(product table):
<table>: The name of the store or department. Access a specific category
of a store:
<table>: The
name of the store or department.
Access a product directly:
<table>: The
name of the store or department.
Usage note: These URLs are perfectly suited for any kind of advertisement as well as to be implemented in your website to point directly to a given store, category or product within your shop. Helpful hint: If you are unsure about the correct URLs on your system, please use the shop-frontend and go to the screen you intend. Then simply copy&paste the URL from your web browser (you may remove assigned shopping cart IDs before). Smart
tip: When using SunnyScript's
YourAffiliates affiliate management software, you may provide URLs
to access a specific store, category or even product to your affiliates
for being promoted instead of the entire website or shop.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Adjust product table parameters... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Each product table (also known as store or department) has its own set of table parameters used to determine its behavior (e.g. sorting of products, visible fields, search preferences, ...). Choose the desired product table and select "Change table parameters and layout" from main admin menu. Table layout parameters:
* These are required (and important) fields; double-check them for containing correct values. Search layout parameters: When searching for a particular
product or using "Advanced search", search results delivered are formatted
as stated here.
* These are required (and important) fields; double-check them for correct values. Categories list layout:
Menu layout:
Voting and comment parameters: This feature is explained more detailed in the chapter "Store management". Table modifications logging: Check this button in order to log all table modifications (add, update and delete records) to TABLENAME.modif.log located in the "data" directory (TABLENAME is replaced with the name of the concerned table). In this way, you are able to manually recover lost data or track IP addresses of users trying to cheat your system. Technical notes: Content of memo / image / binary field types is not logged. Search requests logging: This feature is explained more detailed in the chapter "Store management". Table automatic maintenance:
Templates substitution: If you wish to use your own templates instead of the pre-defined ones, please select your desired templates here (more details about templates can be found below). "--use default--" will activate the standard template for concerned output. Helpful
hint: If you're unable to find your recently created templates
within the lists, hold CTRL or SHIFT key and click on the "Reload" button
of your browser software to reload the browser window (to replace an old
copy in cache).
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Shop-frontend customization with templates... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Templates are used by SunnyShop to build the shop-frontend. Each screen shown on the frontend is generated from one or more template files (mail messages are also handled in this way). By default, a standard template scheme is used. It's the ideal basis to create your own templates or modify the existing ones. More detailed information will follow later in this chapter. You have two choices of modifying the shop's templates: 1. Modify color and font schemes only: You may adjust the color and font schemes to achieve a similar layout as the one of your business website... Go to the admin menu, click on the button "Edit templates" and search for "main template" labelled entries. These contains various layout settings taking effect to all sub-templates connected with the concerned main template. 2. Full set of freely configurable templates: Beside of just customizing color and font schemes with style sheet commands, you can create your own set of templates or re-write the standard ones (they are a good basis for your own templates). Each template is written
in HTML and contains special tags which will be replaced by appropriate
content. There's nothing you cannot customize, however you should have
a familiar understanding of SunnyShop and HTML programming.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Available templates... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Available templates: There are three kinds of templates: Main templates contain the master layout; sub-templates hold the layout of output blocks appearing in these main templates; independent templates stand alone. A detailed list with comprehensive descriptions of all template files is available from the admin panel (see "Templates editor" screen). Please contact our customer service for pre-sale inquiries asking for this list. Helpful hints: If you create your own template sets, start creating the main templates first to have a better overview. After each single template is ready, run a test-drive to check correct functionality. Important note: We strongly recommend to keep backup copies of the original template files for later referencing purposes. Location of templates: All template files are physically located in the templates directory you specified during installation of SunnyShop. As long as you create or modify templates using the admin panel, you don't have to care about. However if you create templates manually, you must copy them to this location, because SunnyShop only recognizes files in this directory as templates. Create templates for your product tables: Each product table can have its own set of templates - so you are able to manage completely different lines of products. In order to modify templates or create new ones, go to the admin menu and click on the button "Edit templates". Activate your own templates for a product table: Please take a look at the
part "Adjust product table parameters" above to see how to select specific
templates for a table.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Customization of templates... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
As you may have seen above, each template contains special tags in the format <!--$TAGNAME--> which will be replaced by SunnyShop with appropriate content (like shopping cart content or system messages). For some advanced functions, Perl code is used on the templates together with internal script variables. You may just surround these codes with additional HTML tags or modify them as desired (suggested only if you are familiar with Perl). Important notes: Some tags are specific for selected templates. If you add a tag to a template which cannot use it, concerned tag will be simply ignored. However a missing tag can cause that users are not able to get access to selected features. If you wish to customize templates, go to the admin menu and click on the button "Edit templates". List of tags and Perl script variables you can use on templates: A detailed list with comprehensive descriptions of all valid variables and tags is available from the admin panel (see "Templates editor" screen). Please contact our customer service for pre-sale inquiries asking for this list. Expert note: Common script variables available in all templates are $in{<form_var>}, which gives access to form variables submitted by the user (<form_var>) and $namespace->{'TAG'}, which offers access to special tag variables. Custom software solutions: Contact
our sales department to request a free quote for our individual programming
and customization services. Our team of experienced programmers and website
designers looks forward to take over this task for you at affordable rates.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Helpful hints and technical reference | ||||||||||||
| Affiliate management with YourAffiliates... | ||||||||||||
|
Smart tip: Have a look at SunnyScript's YourAffiliates - advanced affiliate management to empower full business' potential. Beside of correct configuration of order logging settings within "Shop parameters", you don't have to take care about anything else, as long as YourAffiliates uses the same domain name as your shop-frontend. The reason for this pre-requisite is a security limitation in the cookie technology, that allows only domains reading a cookie, which have originally set it - that's why the domain names of YourAffiliates and SunnyShop must match each other. Use a different domain name: For this application, SunnyShop
must set the affiliate ID instead of YourAffiliates on customer's computer.
So you are able to use different domain names for both software packages.
<id>: Affiliate
identification; <prg>:
Affiliate program code.
According the above URL scheme you have to modify the advertising HTML codes used by YourAffiliates (please refer to the electronic manual of this product regarding details). Auto-processing of order cancellations: If you (or your customer) cancel an order at SunnyShop, any paid sale commission is automatically deducted from the concerned affiliate's account. Technical
note: Since the table of orders does not store affiliate IDs,
it is impossible for the software to recall commissions when setting a
cancelled order back alive - this task has to be added manually via YourAffiliates'
admin panel.
|
||||||||||||
| Special order of product listings... | ||||||||||||
|
Sorting by "indicator" fields: In some cases, you may want to achieve a specific product listing on the shop-frontend (e.g. when introducing new products or to focus the customer's first attention to). You can do so by adding an additional field to the concerned product table holding content of your choice and then sort records by this indicator field (see "Product table parameters"). Sorting by date and time stamps: Alternatively it is also possible to include the date/time stamps _add_datetime and _update_datetime to sort products by the date of record additions or last updates. Sorting by product views: You may also sort records by the number of times they got viewed by customers: Add the system field _views_number to the concerned product tables and use its value for sorting. The field's numerical content is automatically handled by SunnyShop and becomes increased by 1 each time a record is shown detailed (as higher the value, as more popular the product). Usage
note: You can also show the field's content on the shop-frontend
(e.g. color it with "Display mask" parameter when it exceeds a given number
to attract people much more) - so you can point out most interesting products.
|
||||||||||||
| Advanced search features... | ||||||||||||
|
Searching for information: SunnyShop provides a wide range of powerful search features to retrieve information from your stored data fast and accurate. In the following, we want to show how to built search operations in an effective way. Let's first have a look at
these two records used to explain the sample operations below:
Usage note: All samples don't consider special features like searchable fields, whole word or case-sensitive search operations. They just refer exclusively to their concerned explained features. Interpreting keyword searches: In most cases, you can use any text string for query fields in order to start searching a table. Sample query: smith
Multiple keywords should be separated by spaces. SunnyShop automatically adds the logical operator AND unless an other one is specified (read below for details and additional explanations). Sample query: john blanche
If you are not sure about the spelling of a word (e.g. singular/plural or different spelling alternatives), then just type in a partial word. SunnyShop will perform a sub-string search for the provided string. Sample query: some
Boolean operators: AND (&) OR (|) NOT (!) The logical operators AND, OR, NOT are supported. Instead of the words AND, OR and NOT you can also use the operator characters ampersand (&), pipe (|) and exclamation mark (!). Sample query: john AND smith
Sample query: john OR max
Sample query: john ! max
Technical note: At advanced searches you can specify a default operator. Parentheses: ( ) Operations put within parentheses are processed first; the result is then used for further operations within the search string. Sample query: (john NOT max)
AND samplecity
Phrases: " " Strings put within phrases are searched exactly as they are (not case-sensitive). Sample query: "sample"
Sample query: "JOHN"
Wildcards: * ? \ Beside of the standard sub-string search, it is possible to use more specific wildcards for automatically expanding a search operation. Wildcards marking variable parts of a string; they are helpful when looking for word variations and different spellings. The asterisk (*) is considered as placeholder for none, one or more characters; the question mark (?) is considered as placeholder for exactly one character. Place an escape character (\) before any symbol to disable its special meaning (e.g. a search for the string "book\*" will look for "book*" as it is written and does not consider the special meaning of the asterisk character). Sample query: sample*
Sample query: ?2345
Comparison operators: = == < > <= >= <> ~ !~ ~~ Within a search query you may address a specific record field being searched for a given string or numerical value. Available operators:
Sample query: age <= 12
Technical note: When just entering a string, SunnyShop converts it into <searchable field> ~ <search string>. In case of using "whole word" match, the search string is converted into <searchable field> ~~ <search string>. Priority of used operators: When processing a search request, SunnyShop first handles all parentheses, then comparisons and finally any boolean operator found (in this priority: NOT, AND, OR). Search options at "Advanced search" screen: By clicking at the "Search" link in the upper left corner of the screen you will come to the advanced search area for the concerned active table. Beside of a standard search mask, also the following options are available: Case-sensitive: Mark this button to handle search operations case-sensitive (CAPITAL and lowercase chars are differed). Whole words: Mark this button to search for entire words only (recognizes space characters). Match method: Select whether all arguments must be found (AND) or just one is sufficient to list a record (OR). Sort by / then sort by:
Define sorting of search results over two levels.
|
||||||||||||
| Collected technical notes and tips... | ||||||||||||
|
Stores and product tables: SunnyShop is also the ideal solution to sell services and (magazine) subscriptions easily. If you intend to distribute software (online delivery) or website memberships, please have a look at SunnyScript's AccessGuardian. It's a matter of course that SunnyShop uses business rounding rules for all amounts. Each unique product record can belong to multiple categories. If a record belongs to more than one category, it will be counted to the primary category (the first in range selected for the concerned record). When displaying search results or while browsing a category, also records from sub-categories are displayed (if search criteria applies to them). Uncheck the option "Show subcategory entries" to disable this feature. Why not creating an own store for clearance sales (e.g. last season's clothing) ? You'll notice that this increases your income and attracts customer attention also to other stores. Use thumbnail product images (about 10 KB in size) for the table browsing mode and full-size ones for the detailed entry view mode - just create different fields for the concerned product table and let show them only in certain modes. If you intend to provide links to other Internet resources (like manufacturers' websites or downloadable documents), then create fields of URL type (SunnyShop will automatically embedd the necessary HTML tags to make the URLs clickable). Sell gift certificates by adding them as products; it's also possible to provide individualized ones by requesting additional info using options (e.g. text input fields). Don't forget to add the provided certificate numbers to the shop's certificate management. If you wish to offer gift wrappings or a "delivery product to different address" feature, also use options to realize these apps. For granting volume discounts (like 2-for-1), either use price-affecting options or add different product variations (e.g. packages with 100 or 1000 screws). Alternatively having special "family-size" categories or wholesale product tables can make it, too. SunnyShop is able to handle fractional pricing, e.g. charge 0.001 or 0.00089 currency units. In order to get correctly rounded amounts, please set the parameter "Primary currency decimals" (at screen "Edit shop parameters") to the desired level. However note that for the payment method "Credit card real-time processing", the full amount is sent to the payment processor, regardless of the set currency decimals (may be required for some currencies to prevent conversion errors). In order to pre-add a specific product to the shopping basket, instruct customers not to call sshop.cgi, but provide an URL of a "Add to cart" action (copy the link shown at the webbrowser after adding a product, but remove the used cart ID). Usage of SSL certificates: SunnyShop allows you to protect the checkout procedure with SSL encryption (all transferred data is encrypted depending upon the encryption level of the installed certificate). In order to enable encryption, you need to modify the "URL of checkout script" (screen "Edit system parameters") according the following specifications (depending upon your server's security implementation). Own SSL certificate: Just replace "http://" with "https://" in the URL. Shared SSL certificate: Use the URL assigned to the SSL certificate (see instructions provided by the system administrator). Greet returning customers: You may wish to welcome repeating customers (anybody who has placed at least one order) on the shop-frontend or directly on your website by greeting them with their names. SunnyShop provides the ability to store the first and last name of all customers as cookies on their computers. These cookies are named first_name and last_name; their lifetime is indefinite. In order to enable this feature, go to the screen "Edit shop parameters" and mark the button "Store user's first name / last name in cookies after checkout". A sample JavaScript application that displays a greeting on webpages is included at the software package (see file js.txt). Software related issues: SunnyShop uses server-sided shopping carts, so disabled cookie acceptance as well as dynamically assigned IPs doesn't affect the system. However JavaScript is necessary for some features (e.g. handling of multiple currencies), but not required. If coupons or gift certificates
have a greater value than the ordered total amount, the remaining credits
are skipped; e.g. products in cart are worth 50 EUR, but the gift certificate
is of 60 EUR value, the remaining 10 EUR are not considered.
|
||||||||||||
| Forgot your admin password ? | ||||||||||||
|
|
||||||||||||
| Shop-frontend and template translations... | ||||||||||||
|
The shop-frontend of SunnyShop is fully customizable and translatable by modifying the existing templates accordingly. In addition, also system messages may be translated: In order to translate system messages into your desired language, download the files *.en (located in the software directory), which holds all pre-defined text parts and load them into a text editor. Each language file uses the same structure:
Please change only the part <Translation> while keeping the left-sided ones. After you finished translation, please upload the files to your server and give them a try. Important note: You should create a backup copy of all original *.en for later reference. Custom payment method labels: If you wish to use different labels for payment methods than the default ones (for example "Banking transfer or cheque" instead of "Send invoice"), you need to modify the entries at file order.en , section "List of all implemented payment methods". Important
note: Alterations done to order.en
can negatively affect the software's behavior, so please be careful.
|
| Customer services |
|
Depending upon your license type, this software package includes various support services. Please refer to the license document or visit our website for more information about available services. Before you contact our customer service department, please read this manual first. In most cases you find the answer here. However if you still experience problems, we will be more than happy to help you... For all support inquiries, please contact support@sunnyscript.com and provide the following information: * The license number of the
concerned product.
|
|
|
| © SunnyScript
- A subsidiary of Star Enterprise.
Visit the
SunnyScript website.
Please read our terms of business located at... http://www.sunnyscript.com/terms.htm |