npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ticketebo

v1.6.0

Published

Ticketebo Magento Admin

Readme

Ticketebo Online Ticket Store

What is this repository for?

This is the main Ticketebo Magento 1/OpenMage-based webshop source code.

It also includes code for our various webservices service APIs to support scanning and on-site Kiosk sales.

The repository type is "git" and the host is Bitbucket. Use the "master" branch unless otherwise instructed.

It is a fork of OpenMage LTS as of September 2020. We now manually patch important changes from OpenMage every 3 months but more and more of the original core code and db schema is being stripped away, either because we don't use it at all, we can greatly simplify it or because we've replaced it with custom code and db schema

The medium term goal is to maintain the admin backend, order/invoice sub-system and at least part of the catalog sub-system. Front-end patrons will use a VueJS based browser front-end to browse and make purchases and interact with our server via our own webservices API. The API code handles interaction with the OpenMage code and Magento db schema.

In the medium-long term:

  • Admin backend: Progressively get away from and finally eliminate Magento-reliance due to its use of completely obsolete Prototype.js by introducing Laravel and Eloquent ORM.
  • Order/invoice sub-system - heavily simplify and get rid of Invoice object.
  • Catalog sub-system - Get away from Group Product/Virtual Product system. Introduce new product types, still Magento-based but tailored specifically for Ticketebo needs.

In the very long term, all Magento components will be replaced.

Since the end of life of Magento 1, this repository includes all core OpenMage code, third party Magento libraries and Ticketebo custom code. [Previously Magento core code was never checked in for easier upgrades upgrades to later versions of Magento.]

This README is written in MD Markdown: Learn Markdown

Install instructions

Using the original Magento installer is no longer an option. You can install reasonably easily like this:

  • Clone the git repo
  • Create and edit app/etc/local.xml
  • Clone the db from another instance and use vi editor to change all website instances from, say, www.ticketebo.com.au to your own site, say, myserver.ticketebo.com.au. A script is available to empty it out (TODO: Hmm, where?).

The hardest part is generally getting ioncube licensing to run correctly. To that end we are gradually phasing out the U nirgy D ropship module that uses it. Eventually it will be gone. UPDATE: 2024-09-29 ioncube need appears to be already eliminated in live versions. A version under test completely removes the U nirgy Dropship module and replaces it with a fully functioning version of our custom Organiser module (still Magento/Zend based be db schema designed to be agnostic) . YOU SHOULD BE ABLE TO COMPLETELY IGNORE ALL ioncube instructions and it will still work.

Set up Apache virtual host with port 80 and 443 activated

Hostname must be *.ticketebo.com.au or *.ticketebo.co.uk for U nirgy license to work. (Soon to be eliminated)

Here is a simple set with self-signed SSL certificate for a personal machine but typically we now use letsencrypt for non-production servers.

NOTE: This appears to be for a MacOS/homebrew configuration. Configuration for other systems will require a different DocumentRoot:

Sample simple Apache config file (TODO: Where to put this?)

<VirtualHost *:80>
    ServerAdmin [email protected]
    # We do not allow http to be used at all for personal data security reasons
    Redirect / https://mysserver.ticketebo.com.au/
    ServerName mag19.ticketebo.com.au
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot "/Library/WebServer/Documents"
    ServerName myserver.ticketebo.com.au
    SSLEngine on
    SSLCertificateFile "/etc/apache2/server.crt"
    SSLCertificateKeyFile "/etc/apache2/server.key"
</VirtualHost>

For personal testing, you can create self-signed certificates on Linux or Mac:

openssl req -x509 -nodes -days 1000 -newkey rsa:2048 -keyout server.key -out server.crt

Please these in the same location

Mac-specific notes

For cert set-up, see https://getgrav.org/blog/macos-sierra-apache-ssl

Create empty MySQL db (we will use the default "magento" in this doc)

Create db using your favourite MySQL tool.

Create a user on just that db e.g. user=ticketebo password=rcLi0jzcni7evhqd All privileges. No global priv. In most set-ups, you should also restrict the user to localhost only. Make sure user/password are entered in app/etc/local.xml (see below).

Install Ioncube - needed for U nirgy d ropship module licensing

(you should now be able to skip this step entirely)

If not already running on your target host machine:

http://www.ioncube.com/loaders.php - choose right one for your platform

General help on U nirgy license: https://www.youtube.com/watch?v=E3IlOX4-73Q

Source code Option 1 - Clone Ticketebo "ticketebo" git repository.

Get a Bitbucket account and request read or read/write permissions to the repository

Install git

sudo apt-get install git

TODO: The "git clone" parameters may be out of date??

 mkdir -p /home/myinstance/public_html
 cd /home/myinstance/public_html
 git clone [email protected]:ticketebo/ticketebo.git .

else if there are already files in the folder

 git init
 git remote add origin https://[email protected]/ticketebo/ticketebo.git
 git fetch
 git checkout -t origin/master

Source code Option 2 - Copy an existing instance

Copy all files in existing installation preserving file timestamps.

cd ..
mkdir mycopy
cp -af public_html/ mycopy/

Delete var/cache, var/session and var/log contents.

rm -rf var/*

Optionally, delete much of media/ folder local content:

cd media
rm sitemap.xml
rm -rf catalog/* vendor/* tmp/* wysiwyg/* upload/* 

Create an archive file and move to your new installation.

cd mycopy
tar -czf code.tgz public/html

Localise

Create or edit 2 files for the new environment:

.htaccess - to allow Apache the access it needs. Copy from or modify distribution .htaccess.* files
app/etc/local.xml - database parameters, https://myinstance.ticketebo.com.au/MYADMINKEY
robots.txt - choose from  robots.txt.testsites or robots.txt.live distribution files

MYADMINKEY is a deliberately obscure string such as asdf23494cmwe4 that is used to access the admin login. We have a convention for this, please ask - not described here for security reasons.

File and Folder permissions

TODO: This is not complete

Assuming your htdocs root folder is /home/mynewinstance/public_html and you are running on Debian or Ubuntu and Apache.

In general, all files should have the same GROUP. This allows Apache to read them. File OWNER can be whatever you like, as long as secure, EXCEPT where Apache/Magento needs to write files. You can handle this either by group write permissions or by letting the Apache process own the folders.

These folders have been identified so far as needing write permission:

  var/
  media/ or more specifically:
  media/upload
  media/catalog

A simple cribsheet:

cd /home/mynewinstance/
chown -R root:_www public_html
cd public_html
sudo chmod -R  o+w var/ media/ app/etc/
chmod -R g+w media app/etc

TODO: verify wordpress media folder permissions

Clone db

  • Dump existing installation db using mysqldump.
  • Open with vi editor. Change all instances of old.ticketebo.com.au string to new.ticketebo.com.au. E.g. www.ticketebo.com.au to dev.ticketebo.com.au. The standard vi command for this is :g/www.ticketebo.com.au/s//dev.ticketebo.com.au/g
  • Copy the file to new installation and restore with mysql command line client
mysqldump --databases ticketebo -u ticketebo -p > live_copy.sql
vi live_copy.sql
    :g/www.ticketebo.com.au/s//dev.ticketebo.com.au/g
and find and edit these lines, (it is also possible to run mysqldump without them):
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `ticketebo` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `ticketebo`;
to
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `dev` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `dev`;

mysql -h hostname -u dev -p  < live_copy.sql

Magento admin console configuration

You should now be able to use the Magento admin console:

https://myinstance.ticketebo.com.au/MYADMINKEY  (see "Localise")

TODO: This is a very basic beginning of a configuration guide. There is lot's more to document. But this should get you a basic working test platform with catalog, catalog search, one page checkout, purchase and success page operational.

CMS

Existing pages: About Us Customer Services Enable Cookies Home page 404 Not Found 1 Privacy Policy

Clean out unneeded Magento samples:

CMS > Pages - Delete all  (TODO - not sure if some files still used)
CMS > Static Blocks - Delete all
CMS > Polls - Delete all

Console > System > Cache Management . Disable "Blocks HTML output"

Enabling System and Exception Logging

Log into your Magento Admin Backend.
Go to System > Configuration.
Click on "Developer" in the left side menu pane.
Open the "Log Settings" section.
Change the "Enabled" to "Yes"
Click "Save Config"

Enable exception printing to browser (for dev only!!!)

cd errors mv local.xml.sample local.xml

Set up Attribute Sets

The Attributes are created automagically but not the sets:

Create a test Event Organiser, Event, Ticket Product

Ticketebo objects map as follows to the Magento general world:

  • Event Organiser - Vendor; @deprecated functionality for this is provided by U nirgy d ropship extension modules.
  • Event - Magento grouped product; with custom attributes in "Event" custom attribute set.
  • Ticket Product/Type- Magento virtual product; with custom attributes in "Ticket" custom attribute set.
  • Ticket - No Magento analogue

You can create any one using either core Magento functionality or using the admin Console "Ticketebo" menu ...

Create a Test vendor

Organisers > Manage Organisers

(Ticketebo-custom function is not yet available)

Create a test Event

Create a test Ticket

Test basic ticket purchase process

Payment Gatewey Testing

Our main payment method is eWay in Australia and Safecharge/Nuvei in the UK

Appendix A - Third party modules and add-ons

Magento Extension Modules

https://fishpig.co.uk/magento/wordpress-integration/installation/ free

Paid for:

Mageworx, Multifees - for booking fee Amasty, Manage Order Attributes - custom questions (@deprecated and will soon be removed) Mageworx, Donations - donations U nigry 3 modules (@deprecated and will soon be removed) Free: Inchoo - featured products on home page (carosel?)

Javascript

TODO: Out of date

https://github.com/aFarkas/html5shiv/tree/master/dist html5shiv http://jquery.malsup.com/cycle/download.html jquery.cycle.all.js - update 2017-0303 from v2.88 to v3.03

Appendix B - Sources used to create repository

Code

http://www.sunsean.com/idTabs/jquery.idTabs.min.js jquery.idTabs.min.js
http://malsup.github.io/jquery.cycle.all.js https://raw.githubusercontent.com/scottjehl/Respond/master/dest/respond.min.js

Payment

How do I get set up?

  • Summary of set up
  • Configuration
  • Dependencies
  • Database configuration
  • How to run tests
  • Deployment instructions

Contribution guidelines

  • Writing tests
  • Code review
  • Other guidelines

Who do I talk to?

  • Repo owner or admin
  • Other community or team contact