Adding c5 to existing site

Permalink
Hello -
I have an existing site that has grown (sprawled) over time, and concrete5 seems a great system to bring in into some order. When I installed c5, I put it in its own folder, and find the home page created for me is inside the c5 directory, which is not what I want.

I've seen many posts about modifying the c5/config/site.php file's Base_URL and DIR_REL, but can't get it to realize that the site is above the c5 directory.

I then noticed that the c5/concrete folder contains the same directories as the c5 directory, so I tried copying all the files from concrete to the root directory, with all my other files.

I'm not a stupid person, and I've been working on my site for seven years, so I'm not a beginner. But setting up concrete5 in my environment has me completely baffled, and after two days of searching this site, and testing a lot of theories, I give up and have to ask.

Topics on moving sites seem like they might be relevant, but I don't want to move anything, nor do I want to move my thousands of files into a sub directory, which seems like SEO suicide.

How can I achieve what I want to do: Have the backend in the c5 directory on my site, and have my site pages and directories in root?

 
Adreco replied on at Permalink Reply
Adreco
Hi,
Unfortunately, you can not add Concrete5 (or imho, any CMS) to an existing site and have it work. It may be possible to recreate your site and install it with Concrete5 on your server or on a dev computer, then replace your old site with it. Lots of work of course, but also a good time to "tweek" your site.
SEO issues on moving/recreating sites are easiest handled with 301 redirects (and the help of Google Webmaster tools)

Adrian
janie0183 replied on at Permalink Reply
Thanks for the reply. Adreco.

Is it possible for c5 to live in its own subdirectory of the site it controls?

==========================
On a side note, I have a duplicate post about this. When I posted the first time, the modal window never closed, nor gave any indication the post had gone through. Just kept spinning for 2o minutes. After that, I posted again. Same spinning forever, and I gave up, but when I came back, there were two identical posts. Guess there's something new to learn about Concrete5 everywhere.
janie0183 replied on at Permalink Reply
Is there a better place to find answers here? I struck out in the documentation, and now here. This is such a basic question, but it is preventing me from getting started.

A lot of cms systems can handle existing sites. I'm shocked that Concrete5 can't. But since 100% of the people responding to this question agree, it must be true.

Question 2:
Assuming you start with a new site, can this cms be contained in its own directory in public_html (document root) and control the pages in document root?

page1.htm
page2.php
page3.htm
c5_directory
jvansanten replied on at Permalink Reply
Let's start out by stepping back a bit.

As you suggest there are some CMSes which can overlay existing sites and integrate content from them. These CMSes store data physically in files -- these content files map precisely to pages on the website. This is the model of the static website -- so the CMS basically provides a veneer on top, for better management of the site.

Concrete5 and other major players, though, use a database for all content. In this, there are almost no physical pages which map to site pages -- the site pages are created by the CMS through database calls.

This latter approach does provide for a lot more sophisticated approach to content management than does the flat file veneer approach.

With that in mind, the other comments folks have made may make more sense. C5 is a great environment. But, it's based on a different model than you've used in developing your existing site.

C5 does take some effort and time to learn -- particularly if you want to understand the structure and the most efficient ways of doing things.

I'd just suggest installing the CMS with the default website, play with it, break it, reinstall it and just work the heck out of it. It them will become clearer how best to approach the migration of your site -- and it will be a major transformation.

Also, I would not use an approach which attempts to manage your current site content through C5. You should be able to install C5 at your host directly in a subfolder and simply address it through your existing site address and the subfolder:

http://www.existingsite.com
www.www.existingsite.com/c5install...

By running in parallel, you can migrate content from your current site to the C5 install. The key is to maintain precisely the same page name when you create pages in C5 as you have currently. Then, when you're ready to go live, just have your host change folder for your site to the C5install. That will get you very close, and preserve desired page names and pathing.
VidalThemes replied on at Permalink Reply
VidalThemes
to answer in a nutshell, Concrete5 does not do what your describing.

Your website would sit inside Concrete5 as a "Theme" this theme would be where all your HTML, CSS, JS etc would reside, you then add Concrete5 specific tags to parts of your website that you require to be editable. Everything is controlled from inside Concrete5.

There are some systems that do what your describing, Pagelime is one that springs to mind, but its nowhere near as powerful as Concrete5, my recommendation would be to set up a local instal of C5 and dissect one of the packaged themes to see how they are put together, if you are experienced with HTML, CSS and a little PHP you will have no problems creating your own theme.
janie0183 replied on at Permalink Reply
Thank you for the additional information. I'm sort of understanding. I did install c5 in the first place, and have been playing with it, reading documentation, youtube tutorials, etc, but couldn't find the answer to the question about c5 as subdirectory controlling the site (theme?) at the level above it.

Also can't find the answer to why there are two themes folders:
-- c5/themes
-- c5/concrete/themes

My current site has very few static pages. They area all php/mysql created. The problem(s) I have with my current site is:

1. Whenever I create a new page, I have to remember to put in all the metatags, include all the js, css, menu, footer, etc., instead of just putting in the content in the middle, whether the middle is 1,2,3 column, or more complex than that.

2. I have a number of scripts, each with their own login, css, and header/footer structure.

3. Some of these scripts have separate logins.

4. I have had a number of developers work on things over the years, and things are consistent, but only within their area.


What I am/was hoping was that concrete5 would live in its own folder. Now that Vidall passed along a bit of terminology, what I am asking is that my site as theme would be ABOVE the c5 directory.

Then I would convert pages at my leisure, slowly moving them into the concrete5 structure, but be able to have convertedmypage.php in root, instead of c5/concrete/themes/newtheme/mypage.php I

By using c5 plugins to replace current site functions, like calendar, I would be able to eliminate the need for mulitiple login systems.

In a nutshell, I feel that my site's sprawl has come to the point where I have to rein things in, as now when I create a new page, it feels like one more page I'll have to convert later.

If I'm understanding jvansanten, I can't convert one page or area at a time. I was hoping since I have my own site menu, that I could just change links there as I completed a section. It would take me a year to convert it all at once, and by the time I was done, the first parts would already be out of date.

Sorry if I'm wasting your time here. I just feel like my site is forcing me to pursue paths above my current understanding, and what seems simple to you is not so much for me.
jvansanten replied on at Permalink Reply
Good question on the 2 themes folders. This is a fundamental in the design of C5.

The one you should always use is immediately under the c5 folder. The one nested under c5/concrete5 is a core code folder. Rather than modifying core code, you can simply override it, or add your own code, in the c5/ subfolder level. Upgrades to c5 then won't touch your customizations. (This was one of my beefs with Joomla!, where you modify core code).
jvansanten replied on at Permalink Reply
Good question on the 2 themes folders. This is a fundamental in the design of C5.

The one you should always use is immediately under the c5 folder. The one nested under c5/concrete5 is a core code folder. Rather than modifying core code, you can simply override it, or add your own code, in the c5/ subfolder level. Upgrades to c5 then won't touch your customizations. (This was one of my beefs with Joomla!, where you modify core code).

As for the time to port a site.

The repetitive work that you currently do to create a new page in your current site will be largely eliminated.

Rather than doing the whole "ball of wax" everytime you create a new page, C5 will introduce a different work flow. First, you'll design the template and page types that your site will use. Then, you'll populate content. I find that I can create 10-20 pages a day, depending on fine-tuning needed, once the foundation is in place. You may find it faster going than you think...
VidalThemes replied on at Permalink Reply
VidalThemes
To answer some of your questions:

"couldn't find the answer to the question about c5 as subdirectory controlling the site (theme?) at the level above it."

Pretty sure this is a non starter, I dont believe you would be able to have a site in a subdirectory separate from C5 that is "controlled" by C5, someone may know of a way to do it, but I certainly havnt seen or heard of that being done before.

"Also can't find the answer to why there are two themes folders:
-- c5/themes
-- c5/concrete/themes"

Concrete5 has a very effective overrides system, so you will find two sets of directories in your install the top level will be mainly empty, and the next level, concrete/whatever will posses the code, if you wish to override a part of your site you can copy it from concrete/whatever and copy it to /whatever and concret5 will use that portion of code, so you can alter the code as much as you like without damaging your install. its a really nice way of maintaining the stability of your site but also giving you the opportunity to make drastic changes to functionality without harming your install or the update procedure.

By the sound of what you would like to do I think you would have an uphill struggle, my personal opinion is that you may be better off, installing Concrete5 separately, build a basic theme based around the structure of your current site, convert your current sites pages into working concrete5 page types and then move them across to your concrete5 site, then add the content to them from your old site, it may take a while but would probably be the most stable way of doing it, this is of course just my opinion, and someone else may know a way of getting your existing site across into C5 a more efficient way.
jvansanten replied on at Permalink Reply
And, some hosting configurations prevent code accessing code in parent folders or above as a security measure.
janie0183 replied on at Permalink Reply
If I am understanding things correctly, I can recreate my index.php file as a concrete5 page. That will help me better understand how things are structured, and to see how to transfer both site functionality and my own understanding. It will also have the benefit of being able to access the dashboard whenever I have time, instead of like now, at the middle of the night when I exchange my real index.php file for the c5 one.


All that said, here is the structure of my my page looks like now, and I am hoping to help in seeing what it should look like after it is converted.

<?php include('header.php'); ?>
----This is a header that appears on all pages of the site.

<?php include('forecast.php'); ?>
-- This only appears on this one page.

<script language="javascript" type="text/javascript">javascript to display the date</script>

<?php include('another.php'); ?>
-- this appears on a few pages

<div id="this-carousel-id" class="carousel slide"></div>
Twitter Bootstrap Carousel on this page only

I tried the php block in the marketplace, but it only broke things, and from the answers here, it seems that blocks are the way to go. In the short run, is it possible to have a one line block that is simply <?php include('another.php'); ?> or is the approach to take to actually put the code from another.php into a block? Creating a block for something that was only one line seems a lot of work, but if that what it takes, then I'll try to work out a block.

I think once I get over this initial lack of understanding I won't be such a pest here on the forums, or at least my posts will be more "What's the best route to take to Cincinnati" and less "How do you start the car?"