PHPRunner 4.2beta Release!

The newest build of PHPR (phprunner) is now available for download on Xlinesoft’s Forums. This build, #348, is 4.2beta release. In this release it looks like they have fixed a couple of issues that were looming with 4.1 like the issue with the default project folder in Vista that plagued me for a little while until I got it figured out w/ their help. Also, the Visual SQL Editor is updated as well.

Scheduled to be implemented in the very near future on this project are CAPTCHA, complex password validation, registration verification by email, and the new PDF Export (view and Print Pages) that basically captures data on a page and shoots it out to a PDF file. The ability to export data to a PDF already exists but not in this manner. The final version with these implementations is scheduled to be out the end of this month (february 2008).

For reference, I am posting info from past PHPR builds on here so that there is a semi-complete list of features listed here for the product.

Version 4.1 – September 18, 2007

  • New events/extended list of parameters available in each event
  • Inline Add/Edit on the list page. Add/Edit multiple records at once. Inline Add/Edit use the same input controls that appear on regular Add/Edit pages. All BeforeAdd/AfterAdd/BeforeEdit/AfterEdit events are supported by inline functions. Totals will be recalculated after new record is added or edited.
  • Security enhancements
    - Admin user is implemented as an Admin group which allows multiple admins
    - Separate OwnerID for each table
  • New, nice looking layouts
    Default, Amsterdam, Rome, Paris, Madrid, and London.

Version 4.0 – May 21, 2007

  • Reports (outline, stepped, align, block and tabular layouts)
  • Charts (line, pie, doughnut, horizontal/vertical bars, 3D charts etc.) We use Flash-based charts developed by AnyChart.com
  • Business templates and visual themes
  • AJAX-based functionality (Google-like auto-suggest feature on basic and advanced search pages,
    - AJAX-based dependent dropdown boxes mean faster page load
    - mouse over link to Details to see detail records without proceeding to the details page
    - “Lookup wizard as Edit box” feature – edit box with autosuggest

Version 3.1.1 – February 8, 2007

Version 3.1 – October 9, 2006

  • WYSIWYG visual editor. Tweak visual appearance of any page with easy to use editor.
  • New Custom “View as” type. Use any PHP expression to display data the way you need.
  • Frontpage publishing

Version 3.0 – February 25, 2006

  • Events. Ability to call some PHP code before or after record is edited, deleted, added etc. Modify values before they written to the database, say “no” to record deletion or update, send an email with new data etc.
  • Wizard for new database/tables creation
  • Multiple table aliases. Generate several views for the same database table
  • Encode passwords in database (optionally)
  • Add new items to database-driven drop-down boxes and listboxes on the fly
  • More search modes (and-or search, not search)
  • Major UI redesign. Quick switch between database tables on any page
  • Common header and footer on all pages. Put file named supertop.php to include folder to make it appear on the top of every generated page
  • Multiple records per row layout
  • Template Editor

Version 2.0 – June 9, 2005

  • Postgre, Oracle, MS Access, MS SQL Server support
  • Built-in FTP Client to upload PHP pages to the Web server
  • User self-register page, password reminder, change password pages
  • Multilingual templates. Ability to choose language while logging in
  • Use drop-down boxes, date-pickers, checkboxes on the Advanced search page
  • Allow direct links to Edit, Add, Search results page
  • Display “Please wait” message while search results page is loaded
  • Copy a record function
  • Tables menu on the list page. Allow to reorder tables in the tables menu
  • Multiple ORDER BY fields
  • Case-insensitive search
  • List boxes allow multiple selection
  • Linked dropdown boxes, filtered dropdown boxes, dropdown boxes with custom display
  • Upload files to the folder on the Web server. Use Edit as type “Document upload” and View as type “Document download” or “File-based image”

Version 1.1 – December 5, 2004

  • Easy to use wizard-like interface
  • Generates 100% pure PHP code
  • Number of search modes, advanced search
  • Add, view, edit, and delete pages, sort data
  • Master-detail tables relationship support
  • Database images displaying and upload
  • Password protected access to your database
  • Data validation on the edit page (email, number, date, credit card number, ZIP code, US state etc.)
  • Export results to Excel, Word, XML, CSV
  • Advanced security settings (allow users to edit their own data only, admin user, guest login, group based permissions)

Shame on Network Solutions!

I was on the road today heading to a meeting and while traveling I decided to break out my Zune and get caught up on some of my Web Hosting Show podcasts that I have been running behind on.  I was listening in on one where Mitch was telling about the new thing that Network Solutions is doing, it made me so mad I almost drove off the road.  I knew this was going on but never really thought about it I guess, once it sunk in I decided I would come home and blog about it…

Did you know that if you go to Network Solutions website and check for a domain names availability and do not purchase the name that they (Network Solutions) will automatically hold the name back and make it unavailable for a period of time.  This means if you go to Network Solutions and look for the name, netsolidiots.com, and it is available and you do not purchase it at the time that you won’t be able to go to another registrar like Register.com or Enom and pick up the name because Network Solutions already has a hold on it?  I think that they can only hold onto the name for a period of 5 days or so but my gosh, being able to do that just doesn’t make sense to me.  Why hasn’t ICAAN stepped in and put a stop to this?  I am not for sure what the technical term for this is but for the sake of this blog post I am going to call it “desperation”.

Why do I call this practice on the part of Network Solutions desperation?  Simple, they have been losing the domain registrar battle for a long time now.  At one time back in the day Netsol used to be the only game in town, at least that’s the only alternative I had when I purchased my first domain name back in the 90′s.  A little while later a few other names showed up on the scene who offered up some real competition like Register.com and Enom.  Nowadays, Enom and Register are still out there doing their thing, and doing it well I might add, but Netsol has been reduced to only a small market share.  I admit, I don’t follow the registrar wars nearly as closely as I probably should, my partner Stephen handles all of our domain registrations for Pleth.  GoDaddy is also a mogul nowadays that I would be stupid not to mention, they are probably one of the largest now, if not the king outright, when it comes to domain registrars.

For years I have dreaded dealing with Network Solutions when we would pick up a client that had their domain with them because it has always been such a chore to transfer their domains out to our registrar for management.  I am not alone in feeling this way either, most webmasters and hosting firms that manage domain names for their clients all hate Network Solutions, or at least all of the ones that I have spoken with.  It’s sad when a hosting company or web developer has to form a strong opinion like that about a registrar, it’s just not necessary.  At the end of the day, they simply hold the domain name, how hard should it be to keep everyone happy?

I have probably went on about this long enough, it’s just a bad business practice I wanted to draw attention to, and one that I can’t imagine is still allowed, again, where is ICAAN in all of this?? 

Create a table with the list of US states

I had another PHPR user email me the other day and ask how was the best way to go about adding a table for US states that already had all of the states already listed.  I had to think for a minute because what I usually do is build a table for states and leave it blank so that the admin of the site can add states as he or she enters in content.  The only thing I typically do is to set it so that the states are listed alphabetically.  Sergey posted an entry on the Xlinesoft forums though that shows how you can just use this sql statement to create the table with statements in it already, I am posting it here so that I can just copy / paste it in if this ever comes up again…

   1: CREATE TABLE IF NOT EXISTS states (

   2: id INT NOT NULL auto_increment,

   3: name CHAR(40) NOT NULL,

   4: abbrev CHAR(2) NOT NULL,

   5: PRIMARY KEY (id)

   6: );

   7:  

   8: INSERT INTO states VALUES (NULL, 'Alaska', 'AK');

   9: INSERT INTO states VALUES (NULL, 'Alabama', 'AL');

  10: INSERT INTO states VALUES (NULL, 'American Samoa', 'AS');

  11: INSERT INTO states VALUES (NULL, 'Arizona', 'AZ');

  12: INSERT INTO states VALUES (NULL, 'Arkansas', 'AR');

  13: INSERT INTO states VALUES (NULL, 'California', 'CA');

  14: INSERT INTO states VALUES (NULL, 'Colorado', 'CO');

  15: INSERT INTO states VALUES (NULL, 'Connecticut', 'CT');

  16: INSERT INTO states VALUES (NULL, 'Delaware', 'DE');

  17: INSERT INTO states VALUES (NULL, 'District of Columbia', 'DC');

  18: INSERT INTO states VALUES (NULL, 'Federated States of Micronesia', 'FM');

  19: INSERT INTO states VALUES (NULL, 'Florida', 'FL');

  20: INSERT INTO states VALUES (NULL, 'Georgia', 'GA');

  21: INSERT INTO states VALUES (NULL, 'Guam', 'GU');

  22: INSERT INTO states VALUES (NULL, 'Hawaii', 'HI');

  23: INSERT INTO states VALUES (NULL, 'Idaho', 'ID');

  24: INSERT INTO states VALUES (NULL, 'Illinois', 'IL');

  25: INSERT INTO states VALUES (NULL, 'Indiana', 'IN');

  26: INSERT INTO states VALUES (NULL, 'Iowa', 'IA');

  27: INSERT INTO states VALUES (NULL, 'Kansas', 'KS');

  28: INSERT INTO states VALUES (NULL, 'Kentucky', 'KY');

  29: INSERT INTO states VALUES (NULL, 'Louisiana', 'LA');

  30: INSERT INTO states VALUES (NULL, 'Maine', 'ME');

  31: INSERT INTO states VALUES (NULL, 'Marshall Islands', 'MH');

  32: INSERT INTO states VALUES (NULL, 'Maryland', 'MD');

  33: INSERT INTO states VALUES (NULL, 'Massachusetts', 'MA');

  34: INSERT INTO states VALUES (NULL, 'Michigan', 'MI');

  35: INSERT INTO states VALUES (NULL, 'Minnesota', 'MN');

  36: INSERT INTO states VALUES (NULL, 'Mississippi', 'MS');

  37: INSERT INTO states VALUES (NULL, 'Missouri', 'MO');

  38: INSERT INTO states VALUES (NULL, 'Montana', 'MT');

  39: INSERT INTO states VALUES (NULL, 'Nebraska', 'NE');

  40: INSERT INTO states VALUES (NULL, 'Nevada', 'NV');

  41: INSERT INTO states VALUES (NULL, 'New Hampshire', 'NH');

  42: INSERT INTO states VALUES (NULL, 'New Jersey', 'NJ');

  43: INSERT INTO states VALUES (NULL, 'New Mexico', 'NM');

  44: INSERT INTO states VALUES (NULL, 'New York', 'NY');

  45: INSERT INTO states VALUES (NULL, 'North Carolina', 'NC');

  46: INSERT INTO states VALUES (NULL, 'North Dakota', 'ND');

  47: INSERT INTO states VALUES (NULL, 'Northern Mariana Islands', 'MP');

  48: INSERT INTO states VALUES (NULL, 'Ohio', 'OH');

  49: INSERT INTO states VALUES (NULL, 'Oklahoma', 'OK');

  50: INSERT INTO states VALUES (NULL, 'Oregon', 'OR');

  51: INSERT INTO states VALUES (NULL, 'Palau', 'PW');

  52: INSERT INTO states VALUES (NULL, 'Pennsylvania', 'PA');

  53: INSERT INTO states VALUES (NULL, 'Puerto Rico', 'PR');

  54: INSERT INTO states VALUES (NULL, 'Rhode Island', 'RI');

  55: INSERT INTO states VALUES (NULL, 'South Carolina', 'SC');

  56: INSERT INTO states VALUES (NULL, 'South Dakota', 'SD');

  57: INSERT INTO states VALUES (NULL, 'Tennessee', 'TN');

  58: INSERT INTO states VALUES (NULL, 'Texas', 'TX');

  59: INSERT INTO states VALUES (NULL, 'Utah', 'UT');

  60: INSERT INTO states VALUES (NULL, 'Vermont', 'VT');

  61: INSERT INTO states VALUES (NULL, 'Virgin Islands', 'VI');

  62: INSERT INTO states VALUES (NULL, 'Virginia', 'VA');

  63: INSERT INTO states VALUES (NULL, 'Washington', 'WA');

  64: INSERT INTO states VALUES (NULL, 'West Virginia', 'WV');

  65: INSERT INTO states VALUES (NULL, 'Wisconsin', 'WI');

  66: INSERT INTO states VALUES (NULL, 'Wyoming', 'WY');

  67: INSERT INTO states VALUES (NULL, 'Armed Forces Africa', 'AE');

  68: INSERT INTO states VALUES (NULL, 'Armed Forces Americas (except Canada)', 'AA');

  69: INSERT INTO states VALUES (NULL, 'Armed Forces Canada', 'AE');

  70: INSERT INTO states VALUES (NULL, 'Armed Forces Europe', 'AE');

  71: INSERT INTO states VALUES (NULL, 'Armed Forces Middle East', 'AE');

  72: INSERT INTO states VALUES (NULL, 'Armed Forces Pacific', 'AP');

  73:  

  74: If you need Canada provinces as well:

  75:  

  76: INSERT INTO states VALUES (NULL, 'Alberta', 'AB');

  77: INSERT INTO states VALUES (NULL, 'British Columbia', 'BC');

  78: INSERT INTO states VALUES (NULL, 'Manitoba', 'MB');

  79: INSERT INTO states VALUES (NULL, 'New Brunswick', 'NB');

  80: INSERT INTO states VALUES (NULL, 'Newfoundland and Labrador', 'NL');

  81: INSERT INTO states VALUES (NULL, 'Northwest Territories', 'NT');

  82: INSERT INTO states VALUES (NULL, 'Nova Scotia', 'NS');

  83: INSERT INTO states VALUES (NULL, 'Nunavut', 'NU');

  84: INSERT INTO states VALUES (NULL, 'Ontario', 'ON');

  85: INSERT INTO states VALUES (NULL, 'Prince Edward Island', 'PE');

  86: INSERT INTO states VALUES (NULL, 'Quebec', 'QC');

  87: INSERT INTO states VALUES (NULL, 'Saskatchewan', 'SK');

  88: INSERT INTO states VALUES (NULL, 'Yukon', 'YT'); 

Source: Create a table with the list of US states – Forums

New NascarView.com Logo Unveiled…

 

Cotton Rohrscheib, co-founder of the popular NASCAR fan website, NASCAR View, unveiled the new logo for the website today.  The new website features the easily recognizable checkered flag that is displayed at the end of each race as well as the trademarked subtitle, “The Moday Morning Armchair Crew Chief’s Blog”.  To view the new logo, please visit www.nascarview.com.  Please stay tuned to this website for details about the complete launch of this popular website.

Northeast Arkansas Ad Federation

Pleth, LLC | Web Site Design, Managed Hosting, Email Hosting, Email ServicesA little while back my business partners and I joined the Northeast Arkansas Ad Federation.  We were recruited by one of our strategic partners in the Jonesboro area, Melissa Powell of Powell Creative.  Today we started hosting the website for the federation complimentarily and this weekend we are going to be attending the 2008 Addy Awards that are being held at the Jonesboro Country Club.  We are nominated for an award for one of our client projects.  To learn more about the Ad Federation, please visit the website: Northeast Arkansas Ad Federation.  We are looking forward to being a part of the Northeast Arkansas Ad Federation and hope to establish a lot of strategic partnerships in the Jonesboro area.

Project: Class Catalog & Registration Process

I was approached by a long-time client last month to help her put together a dynamic class catalog application that she could manage in-house that listed the reflexology and massage classes that she offers.  In addition to the class catalog management process she also wanted to develop a system that would enable her potential students to register online for classes and store their information in an online database that she could use to market to or follow up with in the future.

I built the project in PHPR entirely, it is written in PHP and utilizes a MySQL Database on the backend.  The way the application works is that the students will hit her website and browse her class listings that are sorted on her website by date.  Once they select a class that they are interested in enrolling in, they simply complete an online form with their credentials and payment information.  Once this form is completed they are then transported to a confirmation page on her website.  The data is stored in a MySQL database and by using table events inside of PHPR I was able to generate the “after succesful entry” and “send email” features.  An email is then sent to my client telling her that a student has registered online.  She then logs in and downloads the information to her desktop system. 

I spent a little while testing this process since it was the first time I had actually made a data entry form available to the public but after a lot of testing I found that the whole process was secure and functioned great.  If you want to check out this application that was built completely in PHPR, just send me a note and I will be glad to share the template for this project with you.  In the future I plan on making some of my favorite apps available online on the Xlinesoft forums for those of you that are interested.

Basic Podcast Tips from Mitch Keeler

If you have ever considered starting your own podcast you have probably given some thought as to what all is involved in putting together a quality product.  Mitch Keeler, who operates one of my favorite podcasts, the Web Hosting Show, posted some tips on his blog, here’s a link: Basic Podcast Tips from a Hosting Media Rock Star | Mitchelaneous.  

Here’s an excerpt from his post:

Try moving the mic around!

That is the number one audio recording tip I would give anybody. You would be amazed how differently you can sound depending on where the mic is. Most will tell you to put it under your chin so you don’t “pop your p’s” but for me, I like to keep it at a distracting eye level (that is with a headset mic).

Move in a little closer…

You don’t want to sound like you are in an empty room, echoing around – unless you are pretending to be the booming voice of god in your audio podcast. Make sure your close enough to the mic to where you don’t sound too loud but your not sounding too far into the background either. This will take some time to find the exact spot that is right for you.

Try to speak from the heart!

Having a guide or show notes is good for a base, but don’t be afraid to go off on your own. Often times I’ll pre-write my show notes and as I record get off when I had wrote down. Why? Well after hearing it out loud I think to myself, “Well it would be better if I go off in this direction instead”. Then I’ll update my notes later to reflect that.

Stick yourself in the Cone of Silence?

Try your best to eliminate any and all background noises. That means if you have a loud heater in the winter months, turn it off to record. If your air conditioner’s buzz is being caught by your mic, turn it off in the summer months. Suffer for your art so your listeners aren’t left wondering – what was that noise I just heard?

The last ‘bit of advice I would have for you is have fun! Don’t think of your show, audio recording or any other side project like this as a job. Treat it like a hobby. Audio podcasting might not be for everybody, but there is no way to find out if you like it unless you try. As long as you try to have fun with it, your listeners will pick up on that positive energy and will tune in again to hear more.

Harvard University Website Hacked

I ran into this article on the WHIR this morning and thought that it was pretty comical.  Their website for their Graduate School or the Arts was compromised on Sunday, and don’t get me wrong that parts not funny by any means, but the comedy of this story is how they were hacked. 

Apparently some of the university data files were made available on a peer to peer file sharing network.  Some of these files contained logins and passwords for some of the systems administrators.  Ooops, how could something like that happen?  I bet there are some folks at Harvard being asked some tough questions this morning…

Web Host Industry News | Harvard University Website Hacked

Coldpray – Feels Like Holy Spirit

I ran across this on GodTube.com and couldn’t resist posting it on my blog.  This is a hilarious spoof of Nirvana’s “Smell’s like Team Spirit”.  Source: GodTube.com – Coldpray – Feels Like Holy Spirit

Full Screen User Interface

I was just cruising through the Xlinesoft Forums today and found a pretty cool javascript that someone had posted that will help you get more screen real estate in your backend applications that you hand off to your clients.  This javascript just creates a button that they can click on that helps the backend seem a little bit more like an a desktop application by making the screen completely full and by removing a lot of browser elements.  There are a lot of cool tricks and tips like this listed on the xlinesoft forums, the community there is very active and not afraid to share cool tricks they pick up.

   1: <script>
   2: <!--
   3: function fullwin(){
   4: window.open("bigpage.html","bfs","fullscreen,scrollbars")
   5: }
   6: //-->
   7: </script>
   8:  
   9: <center>
  10: <form>
  11: <input type="button" onClick="fullwin()" value="Open Full Screen Window">
  12: </form>
  13: </center>