• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Elias Interactive

We Grow Beautiful Websites

  • Blog
  • Show Search
Hide Search

Blog

Magento SVN Usage – Best Practices

Eric Clark · Aug 19, 2013 · 9 Comments

In this article we talk about best practices around using Subversion (SVN) with Magento to help you maximize its many benefits. Anyone who works with Magento Platform will be interested in this easy to understand capabilities and benefits overview of Magento SVN. Whether you’re a store owner or a developer, SVN can make your life easier.

Quick Summary

  1. High-level explanation of SVN
  2. Who should use SVN?
  3. Why it should be used?
  4. Specific things to watch out for with Magento & SVN
  5. Bonus: Tools for the Trade

SVN-Environment Relationships

1. High-level explanation SVN

SVN (aka Subversion) improves the development process. Its an evolution of CVS (aka Concurrent Versions System) which allows developers to maintain local, staging, and production environments. It’s best practice for most software development (and Magento) projects to utilize some type of version control system. Git is worth noting as an alternative to SVN. The main difference being that Git stores everything locally whereas SVN stores things on a repository hosted on a centralized server where all updates are pushed and pulled. Typically people either prefer SVN or Git, both have good reasons and arguments. But for the purposes of this article, though, we are laser focused on Magento SVN usage and not so much the argument between which is better to use.  Server management is not one single thing that you do, but depends on what you use the server for, and whether you have a virtual server, or a physical server. Go through servermania.com/server-management site for more details about server management services. Server management often consists of business continuity planning. In business continuity planning many people feel that virtual servers are easier to with than physical servers are. The problem with this type of Linux server management is that there are times when you would need to patch multiple systems together and when using virtual servers this can be problematic.

Consistency is one of the key elements in Linux server management. In order to have consistency in your Linux server management you will need predefined configuration parameters for all of the application servers and the database servers to follow. If you are using virtual servers to do your work with you are going to find that maintaining the configurations and keeping them completely up to date will be more important than it would be on a physical server.

Before server management can be performed accurately you have to decide what your server is going to need to be capable of doing.

• You need to determine the amount of up-time and down-time that you would find acceptable in your system.
• You must decide how many other servers will eventually connect to the one you are developing so you can set protocols on how to expand the system in the future.
• You must decide if you need a physical server that you can adjust or if you could possibly work with a virtual server
• You need to decide if you can do your management procedures for yourself or if you will need to hire a professional company to manage this part of your operation for you

There are excellent online tools and resources available to help you program, manage, and incorporate new procedure protocol into your servers. You have to be willing to learn the ropes, and use the guidelines available to you. Remember that those guidelines were established through the trials and errors of people that used the system before you so they are going to save you from making costly mistakes in the future.

Simply put, SVN is a tool that keeps a revision history of code over a period of time. You keep project code located within the repository and pull a copy of the entire code with one simple command. As people work on the project, updates to the code are committed to the repository, which allows anyone who is “linked” to the repository to sync their code with the latest changes via one click of a button. A simultaneous, multi-user environment is organized for team-based development and proper administration.

There are an incredible number of benefits to SVN… too many to mention here.

2. Who should use SVN?

Everyone who works with Magento should use SVN. As a rule of thumb, SVN should be used in any significant software development project (unless you use Git as an alternative).

3. Why SVN should be used?

SVN allows multiple developers to build simultaneously in an organized fashion with a detailed history of the progress. This ensures that the live storefront (production environment) is always intricately cared for and remains “open for business”. There’s nothing worse than an outage in the eCommerce world and using SVN with Magento helps you to hedge against such events as it relates to your code. Every developer has experienced early on in their career the inevitable mistake of removing a file via FTP, only left to realize that file is lost in space and no longer retrievable. Thanks to SVN, you will be able to recover and restore this file in no time. The developer’s life becomes easier; and your eCommerce business is safer. When used properly, SVN ensures reliability, integrity, speed, and fall-back recovery.

4. Specific things to watch out for with Magento SVN

In our experience, there are a few specifics to watch out for when using SVN with Magento. Without getting too technical, here are a few things we’ve learned along the way:

  • Watch out for the caching. Utilizing “SVN:ignore” is the key to allowing the local environment to cache correctly. I would recommend setting SVN to “ignore” for the following (at least) when maintaining separate environments:
    • /app/etc/local.xml (or use SVN lock instead for this)
    • /media/catalog/product/cache
    • /media/tmp/*
    • /var/cache/*
    • /var/report/*
    • /var/log/exception.log
    • /var/log/system.log
    • /var/locks/*
    • /var/session/*
    • /var/tmp/*
  • Create and execute test script. We’ve learned the hard way to stick to a quality test script as we merge different branches into the main SVN repository (used for production). Testing major changes in a staging environment prior to going “live” to production with the new changes can save a lot of heartache later on. Don’t underestimate testing your changes, especially with Magento’s complex architecture.
  • Create branches for project phases. Sometimes it helps to create a “branch” for each phase and a staging environment for each branch (assuming the project is large enough to call for it). This makes it easier to rollback and merge updates, if needed.
  • Keep the entire Magento directory maintained in SVN. Call us crazy, but we prefer to keep the entire Magento directory maintained via a SVN repository. We do this so that we can upgrade, modify, and perform other changes locally prior to streamlining the changes to the staging and production environments.

5. Bonus: Tools of the Trade

We fancy apps that make our lives easier. Who doesn’t? We invest a lot of time researching and trying out new apps to see how well they fit our business. So far we have found a few SVN tools that are worth mentioning. Note: some of these are Apple-specific.

  • VersionsApp: A high-quality desktop application that allows one to manage repositories locally for streamlined management of code.
  • BeanstalkApp: A sweet as online SVN storage service to host repositories full of code, revisions, and a great interface for management.
  • Coda App: A quality code editor that integrates with SVN
  • TextMate: Another quality code editor with SVN integration
  • MAMP: A personal Mac server with Apache, Mysql and PHP
  • VirtualHostX: A virtual hosting utility that works well with MAMP
  • VirtualBox: A sweet virtualization product to run multiple operating systems
  • Spoon.net: A browser-compatibility testing tool

Those of you who are already familiar with SVN know that there is obviously much more to rave about. This post is intended to be a simplified “business use-case” for Magento SVN usage and explain why it is a Magento best practice. Please chime in in the comments below with other suggestions for everyone to benefit from!

How to Create Reusable Apple Mail Templates [video]

Eric Clark · Jul 31, 2013 · 55 Comments

UPDATE: This process works for macOS High Sierra Mail App (v11.x). It also works in prior versions down to v3.x. Apple has removed the Stationery feature from Apple Mail in macOS Mojave. This process will not work if you’ve upgrade to Mojave, but here is a work-around you can explore.

Do you ever find yourself writing the same general email over and over? I’ve found myself spending a lot of time responding to initial questions and project requests from potential clients. Usually it takes a few emails or phone calls to uncover the project’s details to a level where the client feels understood and our team feels comfortable with scope and timeline. But the first email is usually some variation of the same thing: who we are, why we are contacting you, and what we suggest as a next step.  Your role might be totally different, but I suspect everyone has some message that they reuse.

If you use Apple’s Mail app here is how (text and video instructions below) you can save yourself time by creating reusable Apple Mail templates (aka Stationary).

Create Mail app templates in less than 2 minutes (video)

Four Easy Steps to Create Apple Mail Templates

  1. Create a new email message. Add the template that you often reuse as you’d like it to appear each time you load the template (just like a signature line). You can also add dummy text to delete later, if you wish.
  2. When you’re satisfied with your work, choose Save as Stationery from Mail’s File menu. The program will prompt you to name your template.
    file_and_menubar-300x249
  3. When you want to load your template, create a new message and click the Show Stationery button. You’ll see the Apple templates, organized in folders. (You may need to scroll down to see all the folders.) At the bottom of the list is a new folder, Custom, where your template resides. Any additional templates you create will be stored in the Custom folder as well.
  4. Select the Custom folder, click on the icon for your custom template, and the template appears, ready for you to add new text. When you’re done writing your new message, send like any other email.
    Apple Mail - Show Stationary

I hope this helps you! Do you have any other Apple Mail tips for templates? Please share in the comments below.

I’d rather buy from Harry Potter

Josh Colter · Aug 19, 2011 · Leave a Comment

In great stories (like Harry Potter) the hero is prepared to die to save the day. Your company should be willing to die for your customers. But to think this way you have to care about the people with whom you do business. Viewing them as a necessary evil won’t do.

Who do you care enough about to die for?

The Ecommerce Solution You’ll Find Refreshing (drumroll)

Josh Colter · Aug 8, 2011 · 2 Comments

Entry-level solutions tend to move upmarket and compete for bigger customer sergment solutions. But it’s rare to have an enterprise solution effectively move downmarket and gain market share against lower cost competitors. That’s why I don’t think ebay can use Magento to gain market share with smaller shops. It’s more likely that the next big thing will come from a community fork or a shiny new ecommerce platform. As you use the new feature set, please consider that we are constantly working on optimizing the workflow of our system and the time it takes to generate a grid is something Local Viking is always focused on improving without sacrificing the integrity of the results.

A leading Magento community developer talked to us about forking the platform. We almost did it. Our philosophy was “happy developers lead to happy customers”. When developers can build more stuff with less headache, it translates into faster innovation. Faster innovation equals cost effective solutions for smaller retailers so that they can compete against the big fish. Other than this if you want more information about white label word press website then click resources.

But we didn’t have a good feeling about the fork, so we set out in search of something new. We wanted a solution that met the following criteria:

  1. thorough documentation
  2. responsive support
  3. straightforward theme structure
  4. module revenue opportunity
  5. rapid store development

Most commerce platforms fall short in one of the following areas:

  • product configuration
  • simple theme-ability
  • marketing channel integration
  • store usability
  • fulfillment process integration

Usually you end up with a store that is either simple to theme/design but without key features OR it has the functionality you want but is so complicated that it takes a lot of time and money to implement. We wanted an elegant balance with the ability to quickly build something if we need it, When starting a retail web business, you will need an online payment gateway.  This connects your customers credit card to your processing bank.. After downloading a lot of different ecommerce demo stores, LemonStand was the most impressive. We originally looked at it last year, but it just didn’t meet our needs at the time. LemonStand has really blossomed this year. The core is solid. Theming is logical. 80% of the features I want are there. And the support – wow.

lemonstand-post

LemonStand is SWEET

Good support starts with https://www.sodapdf.com/pdf-editor/ the converter offers a clean user interface with easy to understand text/visual instructions so you can complete your work without much learning curve. Documentation for LemonStand is refreshingly well-organized. When you’re building a store, you don’t want to waste an entire morning trying to track down information about how the system works. Forums for LemonStand are 1,000% better than Magento because the creators of the system actually monitor threads and respond. And our support tickets were addressed in under a day. I honestly don’t know how their customer service is this good as a small, bootstrapped software company.

While its strengths far outweigh weaknesses, there are a few gaps in LemonStand’s offering. The most obvious missing feature is layered/faceted navigation. We had to build a module ourselves for our first store to help users narrow results within the store’s 7k products. This feature, by the way, is the top-requested module and I’m told that it’s high priority for a core update. Other needed additions include one-click checkout page and Google merchant feed. Check out these amazing Branding Tips you can apply to your business. They’re both within reach if you have the chops to develop it yourself, but it would be nice to see them as pre-built modules.

Explosive growth is ahead for LemonStand. Here’s what needs to happen for them to reach a tipping point:

Step 1: ecosystem of module developers climb on board

The risk with feature requests for any software system is that you can bloat it with useless junk in an effort to try to please everyone. So ideally you want a platform that contains essential functionality in its core while relegating the features that only some sites will use to modules. If done correctly a marketplace of modules will benefit retailers, developers, and LemonStand:

retailers: Get access to more functionality. Pick and choose what features they want for their store. Avoid paying for the development of modules that they don’t want.
developers: Recycle work into passive income. Build reputation within the community for doing outstanding work.
LemonStand: Offer many more features than they could build with their current resources. Capitalize on a curated store like Apple does with apps.

Step 2: marque clients select LemonStand

Big client wins boost image more than you think. When I was working at ExactTarget selling email software we would get a huge client like Home Depot, Best Buy and Amazon, and then mention it during every sales presentation. For Magento it was North Face and TCHO (heck, their entrance splash page is just a bunch of client logos). If LemonStand could throw a few recognizable brands up on their home page as peer validation, then larger retailers would consider it when replatforming. Sell the retailers and the developers will gladly follow. They’re sick of dealing with all of the other junk out there. If you are on the need of improving your sales on a week basis check this amazing selling machine review

Find out how Force5solutions can help you prove the NERC Compliance Management Software of your enterprise: Force5solutions provides visibility into changes, configurations and access events in on-premises and cloud-based systems. This NERC compliance software delivers security intelligence about security gaps in your environment, detects anomalies in user behavior, alerts you to threat patterns and makes it easier to investigate possible threats before they turn into security breaches. With API-enabled integrations, you can easily centralize automated security monitoring and reporting by feeding data from other on-premises and cloud-based applications and services into Force5solutions.

At the end of the day the most important success driver is to build a good product that customers love to use. LemonStand is well on its way to competing head-to-head in terms of features and it already boasts stellar support. Watch out Magento.

Liberating Constraints

Josh Colter · May 24, 2011 · 8 Comments

We’re in the middle of a great ecommerce store redesign. I couldn’t ask for a better client to serve. The ecommerce framework we’re using is refreshing. And putting the entire team on the same project has been energizing.

For too long we split our efforts into smaller project chunks, which usually meant that only 1 or 2 of us would be working on the same thing. It seemed efficient, but I think it drained some enthusiasm out of us. Refocusing the business model and then solving problems together has reminded me of how fortunate I am to work alongside really smart partners.

Sometimes creating constraints can be liberating.

  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Interim pages omitted …
  • Go to page 26
  • Go to Next Page »

Primary Sidebar

From the blog

Magento SVN Usage – Best Practices

How to Create Reusable Apple Mail Templates [video]

I’d rather buy from Harry Potter

The Ecommerce Solution You’ll Find Refreshing (drumroll)

Liberating Constraints

More Posts

Connect with us

  • Facebook
  • RSS
  • Twitter
Affiliate Disclaimer

© 2023 · Elias Interactive · Built on the Genesis Framework

  • Blog
  • Affiliate Disclaimer
  • Home