Plans for WA3.0

Plans for Web Auction Plus 3.0

requirements
  • php 5.3 or newer
  • mysql
  • vault
  • any vault supported economy plugin
optional
  • webook
  • player heads plugin
  • gd2 module for php
  • pdo module for php

Repos

github mirrors

Major Features

  • New website design based on bootstrap
  • a built in cms for your website (optional)
    • wiki pages
  • Full support for all Vault economies
  • Smart database pooling
  • Stronger security features
    • bruit-force detection
    • industrial strength password encryption
  • Support for new item features - written books, player heads, ender chest colors, armor colors
  • Improved website integration
  • Built in content management system
  • Compatible with future plugins - WeBook
  • Internal tracking of every web auction sign
  • Items grouped by category, like in game creative inventory
  • advanced search page
  • market prices
  • auction expiring
  • storage fees
  • transaction logging
  • authme (note to self: how can this best be hooked into?)
  • unlimited stock
  • ebay style auctions
  • buycraft support
  • open mailbox with a command (optional)
  • option in the config to do manual database upgrades
    • when enabled, the plugin will fail to load with an error message when the jar is updated.
    • use a new /wa upgrade command to run the automatic database updates then start the plugin
  • top players - most item sold in the last X days

code chunks left to do

classes

  • (finished) bootstrap menus
  • Config
  • CSRF
  • (50% finished) dataTables
  • ForSale
  • (mostly finished) html Engine
  • Language
  • mcItems
  • mcSkin
  • (finished) PassCrypt
  • Settings
  • (50% finished) Users
  • (50% finished) VaultLink

pages

  • current sales
  • login
  • profile
  • mailbox
  • sell
  • advanced search

admin pages

  • dashboard
  • accounts
  • settings
  • item packs
  • unlimited stock
  • edit cms pages

About pxnCommon

pxnCommon will be a library plugin containing commonly used classes and features for plugins I make. In concept, this may be similar to plugins like bkCommonLib, but this plugin wont likely break between Minecraft updates. Dangerous references aren't used and code is written to be reliable, so we should be safe from library version hell.

Shared Database

One interesting feature of this library is the smart database connection pooling. Not only are the database connections pooled and reused, the database pools themselves are also pooled and shared between plugins. This might not make sense at first, so I'll explain how this works. When a database query is needed to be made, the library first checks for an existing unused connection. Once the query has been made and the connection is no longer needed by that piece of code, it's released back into the pool and saved for the next time a query is needed. This saves much time not having to make a new connection every time you run a query. If all existing connections are in use, a new connection can be made and added to the pool. This also allows for high performance multi-threaded plugins.

So, not only is there a connection pool, there is also a database pool, each with its own pool of connections. Say you have 3 plugins, all using this library, and the mysql configs all happen to be the same for each plugin (except for the table prefix). The library will automatically detect this and share a single connection pool between all the plugins. If any plugin has different connection info, like the hostname or username is different, the library will see this and create a new pool of connections using that config. It's a smart pool.


Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes