13

I'm going to address this part: I am fairly new to EE so any help is much appreciated. I think you'll find that many of the developers here are currently using a workflow that incorporates version control, typically Git via Github or another service. In most cases, our workflow looks like this: We start development on a local computer, with our ...


11

Note: The Title Master add-on should take care of all of this, but if you can't use that for whatever reason, here is the procedure for the hack: Update 10/10/14: Title Master appears to be abandonware at this point. This works as of EE 2.9 Always back up your files and database before hacking the core! Native EE Titles & URL Titles /system/...


11

I've had the need to do this a number of times, particularly on sites that have press releases. For some reason, press release titles can be insanely long. This is all we ever have to do: In system/expressionengine/controllers/cp/content_publish.php, appx line 2279, change this to what you desire: 'title' => array( ... 'field_maxl' => 255 ), If ...


8

What you're referring to is the auto increment value in a table. You can change this by running the following query: ALTER TABLE mytable AUTO_INCREMENT = X ...where X is the next number you'd expect for your IDs. This is a database-level change and not something ExpressionEngine has as a "feature". Only make this change if you understand you might break ...


8

I haven't heard of any best practices around this. I think it depends on the user, you. If you're looking for some best practices to improve speed, you may want to start with: Ellis Lab's Handling Extreme Traffic Solspace's Website Performance Guidelines (PDF) Matt Perry's How to Make EE Faster .Net's Optimise your ExpressionEngine site Generally speaking, ...


6

The installer/update script doesn't create the missing column. You can create it manually if you're comfortable editing your database. I was updating from 2.4 to 2.5.5 and ran into the same issue. As with anything you should back up your database BEFORE doing the update or this procedure. Run the following SQL on your database; ALTER TABLE `...


6

This is because all “id” columns in EE are set to AUTO_INCREMENT in MySQL. Expressionengine is never explicitly choosing what the next member/entry/etc.’s ID is going to be – MySQL assigns it automatically. MySQL stores the latest auto-increment value internally, and it won’t automatically drop it back when a row is deleted. Some tools like phpMyAdmin will ...


6

We also provide this script in the docs: http://buildwithstructure.com/documentation/how_can_i_batch_update_templates_for_existing_entries/


6

Always backup first! Hopefully they're all still pending. Go into phpMyAdmin query tab and run the following query to delete pending members: DELETE FROM exp_members WHERE group_id = 'PENDING GROUP ID' You can also run the query right from the control panel: Admin › Utilities › SQL Manager › Database Query Form If the site isn't setup to verify ...


6

The encoded string stored in the site_system_preferences column is a base64 encoded serialized array. Follow these steps to both unserialize and decode the string: Go to http://blog.tanist.co.uk/files/unserialize/index.php Paste the entire string from the site_system_preferences column into the "Unserializer input" textarea field on the left of the page ...


5

You should regard ExpressionEngine as a delivery mechanism for web content. You can use its templates to output any format of content or data you want, including JSON. You can use PHP within templates for server-side processing, or write your own plugins/extensions in PHP to output data. You can schedule cron jobs on the server to import data directly into ...


5

Try this to see if it works for you. I just tested, and it works just fine for me. $this->EE->session->userdata('signature') To see all the values in the session values stored as userdata, just do the following: var_dump($this->EE->session->userdata); exit();


5

To get a single value, you want to use the row() method on your $query object: $this->EE->db->select('my_col'); $query = $this->EE->db->get_where( 'fb_photo_settings', array('setting_name' => 'facebook_id') ); $var = $query->row('my_col'); To get an object with a whole row: $query = $this->EE->db->get_where( '...


5

I'm not certain why Title Master would be insufficient for your needs. It handles increasing title length, url_title length, and works with Structure. Maybe if you state what it doesn't do that you need, that could help in identifying an alternative. Otherwise, if you're going to hack, I think you've hit all the main spots, obviously making sure the ...


5

A stash list is simply a serialized variable. Setting and getting a list is the same process as setting/getting a single variable, except the list has some additional processing to separate out the elements, serialize/unserialize, sort and paginate. In practice if you are not saving the variables with save="yes" then there is little appreciable difference in ...


5

The FocusLab approach to this has become a de facto standard for what you're doing, especially long term: https://github.com/focuslabllc/ee-master-config Hope this helps.


5

Most of required indexes are already there. What I usually do, is if I use custom sorting order with exp:channel:entries I add key on field that I sort by. I.e. if I have {exp:channel:entries orderby="title"} I add index on title in exp_channel_titles table. If I have {exp:channel:entries orderby="my_custom_field"} and my_custom_field is a custom field ...


5

I would suggest checking your config.php file and see if any of those global template preferences are explicitly set in your configs. If you are using FocusLab master config, I would check config.master.php and your individual environment configs.


5

This error may caused if EE couldn't make database connection. Check your hostname, username, password within "/system/expressionengine/config/database.php". Also could you check "exp_sites" database table if its having at least one record (multiple records for MSM site) if not, import this table properly.


5

Your "More Info" comment shows you are on the right track, in looking for other data fragments in the database. exp_channel_data contains your custom fields. Several third-party field types have their own table to store information in (like Matrix/exp_matrix_data). You should be safe to remove the row from exp_channel_titles. The other tables contain data ...


4

That's very much asking for trouble. I recommend just adding a new field to the channel or to store the internal id. We do this for a number of clients who need information to correlate to some other database or system. You can create a field called: account_number and use that and it will store the data safely. If you adjust the entry number manually, you ...


4

One of my long-standing add-on wishes is for something to help find and delete cruft like this in EE. There's currently no good way in the UI to have EE show unused channels, fields, etc and it becomes easier to leave it alone than go through the gyrations required to clean house. At one point I had managed to convince Joel Bradbury (@joelbradbury) to ...


4

I found that this was happening because I was importing the database from a dev server, into the production server database, without first dropping all tables...which left unused/old tables still in the production database.


4

I make a few changes to the Master Config in my Base EE install. I made some pull requests to the core, but I am not sure if they were approved. I actually change my environment to the follow, it makes life much simpler with domains. Basically the following code strips the WWW from the URL and ensure you only have to define the domain once. Real simple ...


4

The 2.5.4 release changed the exp_security_hashes table structure. Any addons that were attempting to manually create an XID hash (EE uses them for secure form processing) are likely to have been caught out by this. In your case it looks as though the Rating module is the culprit. It doesn't look as though Solspace have released a patch yet so you'd need to ...


4

Pixel and Tonic updated Assets to account for $config overrides. Update to 2.0.2 and you should be set! http://pixelandtonic.com/assets/releasenotes


4

That should be as simple as this, using the correct channel_id: Update exp_channel_data set field_id_46 = concat(field_id_41, '|', field_id_42) where channel_id = 1 For the Maps table, it's something like this: Insert into exp_mx_google_map (entry_id, lat, long, some_example_field) Select entry_id, field_id_41, field_id_42, 'Some example value' from ...


4

There are two issues here to deal with. Exporting Data from the old site This can be done in a variety of ways. And it's arguably the easier task. I generally write custom PHP scripts, or sometimes a CodeIgniter app to connect to a copy of the original database and output XML files from it. It's just a matter of collecting all the needed fields. Since you'...


4

You can use the channel fields api to get the field names: ee()->load->library('api'); ee()->api->instantiate('channel_fields'); $fields = ee()->api_channel_fields->fetch_custom_channel_fields(); //change 1 to your site_id if using MSM $quantity_field_id = $fields['custom_channel_fields'][1]['your_quantity_field_name']; $sql .= "picd....


4

For the sake of completeness you can fix this with a simple SQL query to add the required column. See see this official EE thread


Only top voted, non community-wiki answers of a minimum length are eligible