opencart 2: choosing MySQLi or mPDO on install, which one is preferred? - mysqli

During the installation of opencart, it offers to choose between two options MySQLi or mPDO. Which one would be more recommended for better overall performance. Are there any issue further down the road with either one?

I would recommend going with MSQLI. I've always installed it that way and never had any problems

Related

SAP Commerce / Hybris upgrade multiple versions

Which is the more feasible strategy for version upgrades when you are multiple versions behind. For example from 6.4 to 2005.
Should we really do a version by version approach as SAP suggests. I understand it's recommended way but still.
Any one can share their experience regarding this?
What difficulties could be faced when directly migrating multiple versions?
Thanks!
There are several approaches you can take. Which one you take depends on the knowledge your team has and with the amount of customizations you already performed.
Step by Step
This is the recommended way by SAP. This is a more secure strategy, where it's very clear what changed between different versions. With every version, you will experience build failures, startup failures and possibly even data issues that need to be migrated. But it's very clear what version caused those issues. With the SAP help and the upgrade notes, you should be able to easily find what was changed, and how to fix it. Disadvantage with this approach is that you need to download, unzip and build for every version, and that takes time. Sometimes you even need to fix the same code twice, when the implentation was changed multiple times
One Shot
With this approach, you go straight to the latest version. You just put your custom code in the latest version and just see what build failures you get.
With this approach, it will be harder to figure out what exact version upgrade caused a specific issue. You should still check all upgrade notes, to make sure that no migrations are needed. Advantage is that you only perform everything once. If you have an experienced team, this is a feasable approach. If you have a new team, be carefull with this approach. You might encounter some difficult errors where you won't be sure what version caused them, so finding info in the SAP help might be harder
Hybrid approach
A third option would be a hybrid approach, where you upgrade several versions at once (For example to versions that contain big changes, like with the addition of backoffice in 6.3). This makes it easier to apply changes for those big changes, while you don't have to go through every version one by one.
Conclusion
I've tried all approaches in the past. The step by step approach takes a lot of time, but makes the changes easier and clearer. With the One Shot approach, you only need to download the latest version, but it might be somewhat harder to find the bugs. If you have an experienced team, you should go for the one shot approach. When you are a lot of versions behind and there were big changes, you could go for the hybrid approach
I had a similar requirement of upgrading from version 6.2 to 2005, I went with the One-Shot approach as explained by Yoni, and the biggest challenge I faced was due to Java version change.
I believe One-Shot approach and Step by Step approach will take a similar amount of time in the major version upgrade, though Step by Step approach is safe but redundant. My personal favorite is One-Shot.
I recently did a platform upgrade from hybris 6.7 to 2005 and did it step by step, mainly because of the java version change and, other than that, there were certain migration steps in each intermediate version that were needed to be done. Also the customer had a lot of custom promotion rules and they needed some special care.
In my case, the process in each step was this:
Upgrade to new version - there is an help.sap.com page for each step, I recommend you follow it and go through each of the section to see what applies to your project, e.g Upgrading Platform from 6.7 to 1808
Compile the project - some deprecated things will be removed in some steps and you have to refactor where needed. This step took me the most amount of time
Start the hybris server - after you finish the refactoring and your project builds successfully with ant clean all there is the possibility that the platform will fail to start due to some (now) incorrect xml config. The "good" part here is that you can see in the console what the problem is and the fix should go faster than the previous step.
Perform the necessary upgrade steps - here is the tricky part, once your platform starts you have to perform the necessary upgrade steps for each extension and add-on that needs it, otherwise you risk working with some broken business logic. You need to do some regression tests and check that everything works as it should.
All in all, an upgrade takes time and depends on how many versions you have to go through, but I think taking it step by step is the most efficient way to accomplish it.

I want to use Eclipse while the company I am working in uses WSAD 5.1

Folks, I have just joined a company where they are using WSAD 5.1 which is painfully slow. Their rationale for using it is taht the final deployment will be on Websphere server.
I am used to Eclipse Europa and similar with JBoss as my app server.
Is there a way that I can use Eclipse with Websphere app server?
Well, guess what? You work for them, they don't work for you :-)
You have two options that I can see.
1/ Go through all the rigmarole of trying to change their mind and letting you develop on baseline Eclipse (which may not be that difficult if you focus your arguments on, and quantify the benefits to be had); or
2/ Just set up and support your own installation of Eclipse/JBoss for development and introduce an extra local step testing with WSAD/WAS before pushing your code to the repository.
If you hide (2) well enough, they need never know. But check your corporate policies first, they may not allow unapproved software on their machines.
The thing is, if you have a good boss, they may allow this regardless if it means your productivity is higher.
The problem you have is that IBM's products (WSAD, RAD, RSA et al) all have very good integration, and possibly some subtle vendor lock-in ("advanced features"), with WAS which is harder to set up with the baseline Eclipse. That's something you'll have to figure out and maintain.
Your employers will be unlikely to help with that, or even condone it since, in their eyes, they have a solution: use WSAD. You need to convince them that the cost of doing it your way is outweighed by the benefits.

Version control system for a small laboratory?

I'm a grad student in Electrical Engineering, and my lab has various projects related to ultrasonics. We have lots of code to perform simulations, but right now our situation is such that any given script has ~5 different versions. In addition, one person might develop code to simulate wave propagation, while another needs that code to perform a different simulation. This results in code being emailed back and forth quite a bit.
I suggested version control to my advisor, and she says that she likes it, but doesn't have time to manage a VCS, so it would have to be set up in such a way as to require as little maintenance as possible. Obviously, we're not releasing software to the public, so it doesn't matter if the internal structure is unconventional.
Most of the lab are not professional coders, but we all need to write MATLAB code as well as some other stuff. So, I don't expect the users to be so good about clean commits and the like, so it would be good for everyone to have their own "workplace" or something like that. But to be honest, I've only ever used version control for 3 people at once, so I'm not sure how to set this up.
So I am asking what is the best way to do this. I have only used Subversion, but I wonder if that is the right choice. We need a system that would (sorted by importance, descending):
require little maintenance
be easy to use and learn, since not everyone has used version control
have shell integration (we all use Windows XP)
be easy to set permissions and give everyone their own workspace
be easy to set up and get running
So, (1) What VCS is the best choice, and (2) how should we structure it. Thanks for the help.
We use subversion and love it, for its simplicity, easy of use, integration into the shell environment and the ability to not just version, code, but also specification documents pdf's and other resources we have.
As for structuring it, try and use your logical structure, as close as possible. Keep it simple :)
I see no reason why you should look further from Subversion. Although, for extra little maintenance you could check GitHub (since it is hosted solution, so no worrying about backup, servers etc) but there are hosted Subversion repos as well.
Especially if you're already familiar with it, so you can bring others up to speed and get extra credit :)
Once completely setup subversion should require very little maintenance, it's model is simple to apprehend, it is integrated in the shell, it supports ACLs which work just fine and it's setup is well documented.
you can setup subversion in a webserver, integrate it with a windows domain for auth if needed (otherwise you have to add/remove users, change passwords on the svn server)
You could also go the distributed vcs way, with hosted solutions no server setup, but to get that across your user's mind is gonna be way more difficult than svn. Not to mention getting it across your own head first.
Unless you have complex, fast-paced, parallel development models, I wouldn't recommend dvcs, I would stick to SVN
I agree that subversion is a very good choice.
But you can also consider mercurial: it's easier and it also has a tortoise integrated interface.
I would recommend www.assembla.com. They offer paid subscriptions but for academic projects you can apply for a free pro account.
I have used it for my academic projects and was 100% satisfied by the ease of maintenance, up-time and simplicity
The far easiest way is to use Subversion. But to get it to work the most easiest way (under Windows) you should definitely use TortoiseSVN.
After installation it works right within the explorer is just one right click away from usage. Maybe one of your guys should take a deeper look into the whole documentation to give help if needed. All other guys should take a look into the Daily Usage Guide for a first start.
Also you should take care about how you structure your repository!
Subversion has too many limitations related to the "always online + central server" model.
I would strongly recommend using a distributed version control system.
From the three main ones Git, Mercurial, Bazaar; in my experience Bazaar is by far the easiest one to use and setup.

Is it possible to use Source Safe over the internet?

Is it possible to use Source Safe over the internet?
Would you do it?
Sourceoffsite was specifically made for this - and was a pretty good product if I recall.
I would not use sourcesafe if I had a choice. Do a search on this site for more details. It has been beaten to death.
Other popular products are subversion/svn, mercurial and git. There are of course other commercial products that cost money. One of them is a sponsor for this site.
EDIT
If you can choose a different tool/product go for one of the others, but you can do it with sourcesafe.
If you don't have a choice, you could use a VPN. But that's going to open all kinds of other security issues. That is, assuming you even have the power to do it.
As developers (and consultants) we cannot always pick the tools that we use. Yes, you can configure VSS to use the HTTP protocol, and while I would not use it over the Internet, I have used it that way, over VPN and LAN connections. It was not always reliable over slow VPN connections (frequent reconnects would occur, but no data loss), and performance was an issue.
It depends on the version. IIRC, 2005 supported access via http, and the wikipedia article seems to corroborate that.
That said, svn+tortoise+ankh will do everything source safe will do and then some, only faster and better, and costs less too.
Possible? Yes. Would I do it? No. There exists only one condition under which I would use sourcesafe: If it was a job requirement and I had literally no other choice.
I've found that VSS 2005 works ok via a VPN over a high speed connection. There's a way to access it via HTTP. I think it's an install option that sets up a web site for this in IIS.
No I would not. Why not use something more reliable?
yes, it IS possible. My company does.

Expression Web Source Control Integration?

Does anyone know if Expression Web (and Blend, for that matter) has any form of direct integration with source control?
Right now that's about the only real downside we've discovered in a couple days of using it. But it's a big downside.
Quick edit:
Yes, we're currently using the demon spawn Source Safe. (For the record, with the size team and projects we're doing, it actually does suffice and has caused us no pain outside of the occasional build hiccup from lack of transacted check-ins.) However, I don't care a whit about Source Safe itself -- I'm trying to find out if there's any way to get the Expression products to integrate with ANY source control system, whether it be Team Foundation Server, Subversion, ANYTHING. (And yes, we are looking to move away from VSS eventually. If only to stop other Stack'ers from laughing at us. :) )
Yes, there is now TFS integreation available for Blend 3: http://blogs.msdn.com/unnir/archive/2009/03/17/team-foundation-server-support-in-blend-3.aspx
I tried to bear with you.....but I just can't do it! I think the time has probably come for you to unshackle yourselves from sourcesafe!
Install subversion, and life will be all good again.