<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5129371444200896307</id><updated>2016-01-16T08:39:55.545-06:00</updated><category term="how-to"/><category term="modules"/><category term="D6"/><category term="Drupal"/><category term="PHP"/><category term="Drupal 6"/><category term="Drupal 7"/><category term="Drush"/><category term="NetBeans"/><category term="BrowSweat"/><category term="CCK"/><category term="CKEditor"/><category term="CentOS"/><category term="Debugging"/><category term="Drupal Nodes"/><category term="Services 3"/><category term="Ubuntu"/><category term="Update"/><category term="git"/><category term="module"/><category term="module review"/><category term="theme"/><category term="upgrade"/><category term="Apache"/><category term="Block"/><category term="Book"/><category term="CiviCRM"/><category term="D7"/><category term="DUG"/><category term="Deploy"/><category term="Drupal API"/><category term="Drush Make"/><category term="Features"/><category term="FriendList"/><category term="GMap"/><category term="Guide"/><category term="JSON"/><category term="JavaScript"/><category term="MSSQL"/><category term="Multifield"/><category term="MyActivityPals Listed"/><category term="MyActivityPals feature"/><category term="Nginx"/><category term="Process"/><category term="Python"/><category term="Templates"/><category term="Todoist"/><category term="User Guide"/><category term="Webmin"/><category term="bootstrap"/><category term="certification"/><category term="custom"/><category term="old php"/><category term="various"/><category term="views"/><title type='text'>JarodMS Drupal and Dev</title><subtitle type='html'>My journey with Drupal; building Drupal websites; modules I am using or might try; other coding and development issues</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>93</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-9042439885263289259</id><published>2015-06-22T14:37:00.000-05:00</published><updated>2015-06-22T14:37:00.762-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MSSQL"/><category scheme="http://www.blogger.com/atom/ns#" term="Nginx"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>Windows, Nginx, MariaDB...and sometimes SQLServer </title><content type='html'>I have a couple projects at work that are quite different. &lt;br /&gt;&lt;br /&gt;All are using PHP.&lt;br /&gt;&lt;br /&gt;Some projects require connecting to MSSql (SQL Server).&lt;br /&gt;&lt;br /&gt;Other projects are Drupal based.&lt;br /&gt;&lt;br /&gt;I had been using XAMPP for awhile now, but knew I wanted to use Nginx on Windows, so I finally took the leap and got it running.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here&#39;s a great stack to use for Windows, PHP, Nginx, XDebug, and MariaDB: &amp;nbsp;&lt;a href=&quot;http://wpn-xm.org/&quot;&gt;http://wpn-xm.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, in my case I needed to interface with a SQL Server database for other projects. The Microsoft Drivers for PHP for SQL Server are located here: &lt;a href=&quot;https://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx&quot;&gt;https://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;BUT (at the time of this writing) PHP 32-bit is required for these SQL Server drivers, so make sure you download the correct package from WPN-XM. This was my &quot;gotcha&quot; that took awhile for me to get this running. I was getting &quot;could not find driver&quot; even though the correct versions were available.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I&#39;ve got some more learning to do, but so far I&#39;ve got multiple projects running with some accessing MSSQL and others MariaDB, all using Nginx and PHP. The speed difference compared to Apache is remarkably noticeable.&lt;br /&gt;&lt;br /&gt;Also for my Drupal projects, I was able to do a simple export from MySQL and then an import into MariaDB. My Drupal sites needed no changes in-order-to run, other than a server config in the nginx.conf file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/9042439885263289259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2015/06/windows-nginx-mariadband-sometimes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/9042439885263289259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/9042439885263289259'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2015/06/windows-nginx-mariadband-sometimes.html' title='Windows, Nginx, MariaDB...and sometimes SQLServer '/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-4066864878292682250</id><published>2015-05-20T14:31:00.004-05:00</published><updated>2015-05-20T14:31:41.641-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Todoist"/><title type='text'>Python example to Add task in Todoist</title><content type='html'>A simple script that will prompt you for a task description and date, then add it to the project in Todoist.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Requires:&lt;br /&gt;* https://github.com/Doist/todoist-python &amp;nbsp;- View the Readme for installing the&amp;nbsp;todoist-python library&lt;br /&gt;* Python 2.7+&lt;br /&gt;* PIP: https://pypi.python.org/pypi/pip&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;import todoist&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;api = todoist.TodoistAPI(&#39;&lt;b&gt;&lt;i&gt;HERE_IS_MY_API_KEY&lt;/i&gt;&lt;/b&gt;&#39;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;task_desc = input(&#39;Enter the task: &#39;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;task_time = input(&#39;When (optional): &#39;) &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;item = api.items.add(task_desc, &lt;b&gt;&lt;i&gt;MY_PROJECT_ID&lt;/i&gt;&lt;/b&gt;, date_string=task_time)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;api.commit()&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I just created a simple shortcut in my taskbar and it easily adds tasks to the project ID. I used the Inbox project Id from my account so everything goes in there. I can sort it later.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The &quot;When&quot; parameter recognizes the Todoist date/times such as:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;today&lt;/li&gt;&lt;li&gt;tomorrow&lt;/li&gt;&lt;li&gt;2 weeks&lt;/li&gt;&lt;li&gt;1 month&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;If you press Enter, instead of adding a date, then the task is still added, but with no date.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/4066864878292682250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2015/05/python-example-to-add-task-in-todoist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/4066864878292682250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/4066864878292682250'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2015/05/python-example-to-add-task-in-todoist.html' title='Python example to Add task in Todoist'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-7782738981933259530</id><published>2015-04-21T10:45:00.000-05:00</published><updated>2015-04-21T10:45:12.802-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Multifield"/><category scheme="http://www.blogger.com/atom/ns#" term="Services 3"/><title type='text'>Multifield - Add value using web service</title><content type='html'>One little checkbox...that&#39;s all it took. Something I didn&#39;t understand, but now do just a little better.&lt;br /&gt;&lt;br /&gt;Here we are:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Using &lt;a href=&quot;https://www.drupal.org/project/multifield&quot; target=&quot;_blank&quot;&gt;Multifield&lt;/a&gt; module&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Multifield is defined as Unlimited Number of values&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Using Services with REST server to update a node - adding a value in the list of Multifields&lt;/li&gt;&lt;li&gt;Using Postman to PUT to update that node&lt;/li&gt;&lt;li&gt;Content type name: test_multi&lt;/li&gt;&lt;li&gt;Multifield field name: field_jarod_multi&lt;/li&gt;&lt;li&gt;Multifield subfield name:&amp;nbsp;field_jarod_note, Integer&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Here&#39;s what the Multifield config looks like by default for jarod_multi:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-79JS07lTwuU/VTZtbl1R5FI/AAAAAAAAMz0/h80yLFBggR0/s1600/2015-04-21%2B10_25_27-jarod_multi%2B_%2BTest%2BDrupal.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-79JS07lTwuU/VTZtbl1R5FI/AAAAAAAAMz0/h80yLFBggR0/s1600/2015-04-21%2B10_25_27-jarod_multi%2B_%2BTest%2BDrupal.png&quot; height=&quot;209&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Note the checkbox is on for &quot;Hide blank items&quot;. So when editing a node we see this:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-FesVI_IdE-w/VTZt83ILrJI/AAAAAAAAMz8/1lGFHnwN4ms/s1600/2015-04-21%2B10_32_36-Edit%2BTest%2Bmulti%2Btest%2B_%2BTest%2BDrupal.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-FesVI_IdE-w/VTZt83ILrJI/AAAAAAAAMz8/1lGFHnwN4ms/s1600/2015-04-21%2B10_32_36-Edit%2BTest%2Bmulti%2Btest%2B_%2BTest%2BDrupal.png&quot; height=&quot;381&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;That&#39;s fine. If I want to add another, I just use the button and we&#39;re good.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;BUT it doesn&#39;t work when adding &lt;b&gt;&lt;i&gt;another&lt;/i&gt;&lt;/b&gt; through web services. Doing a PUT will give me a return code of 200, but the value is never added.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;To do that, uncheck the &quot;Hide blank items&quot; button which gives a view like this when editing a node:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-7HxiDJPgC6I/VTZumjeKSkI/AAAAAAAAM0E/Eo38F2hnvbk/s1600/2015-04-21%2B10_21_13-Edit%2BTest%2Bmulti%2Btest%2B_%2BTest%2BDrupal-Unchecked%2Bbutton.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-7HxiDJPgC6I/VTZumjeKSkI/AAAAAAAAM0E/Eo38F2hnvbk/s1600/2015-04-21%2B10_21_13-Edit%2BTest%2Bmulti%2Btest%2B_%2BTest%2BDrupal-Unchecked%2Bbutton.png&quot; height=&quot;400&quot; width=&quot;333&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Now in my web services I do a PUT:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-r7hTiqje0CU/VTZu6ycNyhI/AAAAAAAAM0M/A9_v6o37cqc/s1600/2015-04-21%2B10_21_41-Postman-PUT%2BMultifield.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-r7hTiqje0CU/VTZu6ycNyhI/AAAAAAAAM0M/A9_v6o37cqc/s1600/2015-04-21%2B10_21_41-Postman-PUT%2BMultifield.png&quot; height=&quot;497&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;The full value for the Key is&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;node[&lt;b&gt;field_jarod_multi&lt;/b&gt;][und][&lt;b&gt;2&lt;/b&gt;][&lt;b&gt;field_jarod_note&lt;/b&gt;][und][0][value]&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;After the PUT, I get the new multifield value added to the node:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-Nf_rIz-od4g/VTZvuN7f4bI/AAAAAAAAM0Y/XyUlMyqKIXQ/s1600/2015-04-21%2B10_40_08-Edit%2BTest%2Bmulti%2Btest%2B_%2BTest%2BDrupal-AFTER%2BPUT.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-Nf_rIz-od4g/VTZvuN7f4bI/AAAAAAAAM0Y/XyUlMyqKIXQ/s1600/2015-04-21%2B10_40_08-Edit%2BTest%2Bmulti%2Btest%2B_%2BTest%2BDrupal-AFTER%2BPUT.png&quot; height=&quot;400&quot; width=&quot;338&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Lots of headaches over this one. I just missed the checkbox. &amp;nbsp;So glad this one is solved.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/7782738981933259530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2015/04/multifield-add-value-using-web-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/7782738981933259530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/7782738981933259530'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2015/04/multifield-add-value-using-web-service.html' title='Multifield - Add value using web service'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-79JS07lTwuU/VTZtbl1R5FI/AAAAAAAAMz0/h80yLFBggR0/s72-c/2015-04-21%2B10_25_27-jarod_multi%2B_%2BTest%2BDrupal.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-5229301253112701325</id><published>2015-02-04T11:43:00.003-06:00</published><updated>2015-02-04T11:43:55.213-06:00</updated><title type='text'>SMTP Auth Support - Drupal module Gotcha!</title><content type='html'>In using the SMTP module, I found an error that I really did not expect.&lt;br /&gt;&lt;br /&gt;Using the Debug mode of SMTP Auth, I found that the email/password combination I was using was working ok. Auth was always successful. When sending the message, I continued to get &quot;553 Relaying disallowed&quot;.&lt;br /&gt;&lt;br /&gt;The options for &quot;E-MAIL OPTIONS -&amp;gt; E-mail from address&quot; in the SMTP auth config page were all correct. It should be using this &lt;b&gt;&lt;i&gt;from &lt;/i&gt;&lt;/b&gt;address to send emails. Nope!&lt;br /&gt;&lt;br /&gt;I don&#39;t know what made me check the next thing, but I went to &quot;System -&amp;gt; Site Information&quot; and changed the From email address to the one I was using in SMTP auth. Abracadabra, email sending worked.</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/5229301253112701325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2015/02/smtp-auth-support-drupal-module-gotcha.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/5229301253112701325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/5229301253112701325'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2015/02/smtp-auth-support-drupal-module-gotcha.html' title='SMTP Auth Support - Drupal module Gotcha!'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-5150965240624635167</id><published>2014-10-20T00:11:00.003-05:00</published><updated>2014-10-20T00:13:13.970-05:00</updated><title type='text'>My Drupal Web Stack - new and improved</title><content type='html'>It&#39;s amazing how sometimes breaking through a major obstacle leads to new and improved technologies.&lt;br /&gt;&lt;br /&gt;I had recently realized that one of my servers had been compromised. Hacked into. The best solution I had come up with was to rebuild the server. I quickly did a backup of the databases and all the code and moved them off of the server.&lt;br /&gt;&lt;br /&gt;When spinning up a new server, I had the chance to finally move to a different tech stack I had been wanting to use.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;CentOS 7&lt;/li&gt;&lt;li&gt;Nginx&lt;/li&gt;&lt;li&gt;MariaDB&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;This meant no more Apache and no more MySQL. The change between MySQL and MariaDB was really only in the name. There was no change in code or scripts for what I was doing. Awesome!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Nginx implementation was a lot easier than I thought it was going to be too. I had some Nginx experience from a past contract and knew of the performance increase. Some configuration changes and learning how to setup multiple virtual hosts, and that was that.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At this point, the basic installation seems as fast as my previous Apache + Memcache install.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What is left?&lt;/div&gt;&lt;div&gt;Well this was a very quick implementation in-order-to get my websites moved to a different server. As fast as the stack is &lt;b&gt;&lt;i&gt;right now&lt;/i&gt;&lt;/b&gt;, I still want to install Memcache as well as Varnish.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are a couple of great articles that I used to setup my server and get Drupal 7 running with Nginx and MariaDB.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://www.rosehosting.com/blog/how-to-install-lemp-linux-nginx-mariadb-php-fpm-on-a-centos-7-vps/&quot;&gt;https://www.rosehosting.com/blog/how-to-install-lemp-linux-nginx-mariadb-php-fpm-on-a-centos-7-vps/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://www.rosehosting.com/blog/how-to-install-drupal-7-on-centos-7-with-nginx-mariadb-and-php-fpm/&quot;&gt;https://www.rosehosting.com/blog/how-to-install-drupal-7-on-centos-7-with-nginx-mariadb-and-php-fpm/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Don&#39;t forget to install Drush on your new server. It&#39;s too easy:&lt;br /&gt;&lt;a href=&quot;https://www.drupal.org/node/2132447&quot;&gt;https://www.drupal.org/node/2132447&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A little bit of learning, but I&#39;m very happy with the LEMP and Drupal 7 configuration.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/5150965240624635167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2014/10/my-drupal-web-stack-new-and-improved.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/5150965240624635167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/5150965240624635167'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2014/10/my-drupal-web-stack-new-and-improved.html' title='My Drupal Web Stack - new and improved'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-5840506064959977918</id><published>2014-08-07T14:24:00.002-05:00</published><updated>2014-08-07T14:25:00.131-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="modules"/><title type='text'>Backup and Migrate - Restore 1 Table</title><content type='html'>Well I never thought about trying this before, and there was no reason why it wouldn&#39;t work, but &lt;b&gt;&lt;i&gt;restoring&lt;/i&gt;&lt;/b&gt; a single table into a Drupal website using the Backup and Migrate module worked like a charm!&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Scenario&lt;/h3&gt;&lt;div&gt;I&#39;m using the IP Ranges module on several websites across several servers. Most of the time the websites have content that is specific to certain geographic regions or countries, so getting hit a ton by China, Russia, or Brazil isn&#39;t desirable.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, adding the IP Ranges entries to each website (or even a new one) is tedious.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Enter Backup and Migrate&lt;/h3&gt;&lt;div&gt;On one site, I do all of my manual entries using the IP Ranges interface. Then I can do a backup of the IP Ranges table from this site. The backup will contain info for &lt;b&gt;&lt;i&gt;just&lt;/i&gt;&lt;/b&gt; IP_RANGES and nothing else. I do not want to break my other sites. I have a Settings Profile for IP Ranges and then I do a manual backup.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On another site, do a restore using that backup file. But wait.....read below.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;One Gotcha!&lt;/h3&gt;&lt;div&gt;The backup contains a &quot;DROP TABLE IF EXISTS&quot; statement for ip_ranges. Now the script should be fairly quick, but dropping the table while the module is enabled can cause issues for the site if someone visits.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What I like to do is replace the statement in the script with &quot;TRUNCATE&quot; giving:&amp;nbsp;TRUNCATE `ip_ranges`;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;double check the rest of the script to make sure you haven&#39;t accidentally included other stuff.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then run the script through the rest of the sites!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;I&#39;d rather use Firewall rules, but I need to do more research on that. I&#39;ve broken access to sites before because I&#39;ve entered the wrong Firewall rule. :P&lt;/i&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/5840506064959977918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2014/08/backup-and-migrate-restore-1-table.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/5840506064959977918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/5840506064959977918'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2014/08/backup-and-migrate-restore-1-table.html' title='Backup and Migrate - Restore 1 Table'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-614682728162637096</id><published>2014-07-23T00:40:00.004-05:00</published><updated>2014-07-23T00:40:32.625-05:00</updated><title type='text'>Blocking the Spammers</title><content type='html'>Stop the spammers and bad referrers.&lt;br /&gt;&lt;br /&gt;This is a compilation of info I found on various sites.&lt;br /&gt;&lt;br /&gt;Add this to the end of your .htaccess file:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SetEnvIfNoCase Via evil-spam-proxy spammer=yes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SetEnvIfNoCase Referer evil-spam-domain.com spammer=yes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SetEnvIfNoCase Referer evil-spam-keyword spammer=yes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SetEnvIfNoCase Via pinappleproxy spammer=yes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SetEnvIfNoCase Referer semalt.com spammer=yes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SetEnvIfNoCase Referer semalt.semalt.com spammer=yes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SetEnvIfNoCase Referer poker spammer=yes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;Order allow,deny&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;Allow from all&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;Deny from env=spammer&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Drupal Modules I use:&lt;/div&gt;&lt;div&gt;ip_ranges -&amp;nbsp;https://www.drupal.org/project/ip_ranges - Block entire range of IP&#39;s.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Additional Sites:&lt;/div&gt;&lt;div&gt;http://myip.ms/info/whois/ &amp;nbsp;OR any other popular Whois database. I use this to see the range of IP&#39;s I want to exclude.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This process is a little long for me. Going through the logs and seeing what IP&#39;s are hitting bad URL&#39;s or protected URL&#39;s. Then find the IP range and enter into IP Ranges. &amp;nbsp;I&#39;d like to see a nice report that uses a Whois database to show where the requests are coming from.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I&#39;m still looking for a better overall solution. For example, I&#39;ve got to be able to put the rules somewhere in my Apache config to cover all the sites on my server, rather than configuring each one individually, I just haven&#39;t taken the time to do it yet. We&#39;ll see. :)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/614682728162637096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2014/07/blocking-spammers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/614682728162637096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/614682728162637096'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2014/07/blocking-spammers.html' title='Blocking the Spammers'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-3853634256774172084</id><published>2014-06-11T12:52:00.001-05:00</published><updated>2014-06-11T12:52:38.617-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="module review"/><title type='text'>Module - Front Page</title><content type='html'>Do you want different user roles to have different Front pages when they login or go to the Home page?&lt;br /&gt;&lt;br /&gt;The Front Page module (https://drupal.org/project/front) works very well for that. &amp;nbsp;18,109 reported installs at the time of this writing.&lt;br /&gt;&lt;br /&gt;If you want token support, 7.x-2.4 and lower will need a patch:&amp;nbsp;https://drupal.org/node/1786128&lt;br /&gt;&lt;br /&gt;Front Page handles roles in the reverse order of what you have defined in the Role arrangement and creation page (admin/people/permissions/roles), so Admin role, then Authenticated, and then finally Anonymous role will be processed when implementing a custom front page.&lt;br /&gt;&lt;br /&gt;Here&#39;s a screenshot of 2 roles, Authenticated and Anonymous.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-R4bDL6eJElY/U5iVUxLjTrI/AAAAAAAALaU/euOY7ys-whg/s1600/2014-06-11+12_42_08-Front+Page+Module.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-R4bDL6eJElY/U5iVUxLjTrI/AAAAAAAALaU/euOY7ys-whg/s1600/2014-06-11+12_42_08-Front+Page+Module.png&quot; height=&quot;311&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;As an example, for an e-commerce site and with token support, I can redirect a &quot;customer&quot; role to their Orders page.&lt;br /&gt;&lt;br /&gt;More advanced users and cases will probably want to use Rules.</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/3853634256774172084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2014/06/module-front-page.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/3853634256774172084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/3853634256774172084'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2014/06/module-front-page.html' title='Module - Front Page'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-R4bDL6eJElY/U5iVUxLjTrI/AAAAAAAALaU/euOY7ys-whg/s72-c/2014-06-11+12_42_08-Front+Page+Module.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-6693591026640572396</id><published>2013-04-22T14:50:00.001-05:00</published><updated>2013-04-22T14:50:30.326-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Drupal API"/><title type='text'>Handle potential plural items</title><content type='html'>Let&#39;s say you have a count of items (&quot;widgets&quot;) that you want to display.&lt;br /&gt;&lt;br /&gt;When you count them, the result could be 0, 1, or more than 1 item. &amp;nbsp;SO you need to display one of the following:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;0 widget&lt;b&gt;s&lt;/b&gt;&lt;/li&gt;&lt;li&gt;1 widget&lt;/li&gt;&lt;li&gt;2 widget&lt;b&gt;s&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;In PHP, you can handle this with the following code:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;lt;?php print $view-&amp;gt;total_rows;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp;if ($view-&amp;gt;total_rows == 1) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;print &quot; widget&quot;;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;} else {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;print &quot; widgets&quot;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp;?&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Or use Drupals built in function &quot;format_plural&quot; to help out:&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;lt;?php print format_plural(max(0, $view-&amp;gt;total_rows), &#39;1 widget&#39;, &#39;@count widgets&#39;); ?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/6693591026640572396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2013/04/handle-potential-plural-items.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/6693591026640572396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/6693591026640572396'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2013/04/handle-potential-plural-items.html' title='Handle potential plural items'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-1463120889394691532</id><published>2013-03-13T08:18:00.001-05:00</published><updated>2013-03-22T08:50:16.132-05:00</updated><title type='text'>JSON for Drupal select list and location</title><content type='html'>&lt;br /&gt;&lt;h2&gt;Background&lt;/h2&gt;I&#39;m using PhoneGap and DrupalGap to create my first Android app called &quot;2 For Deals&quot; which helps you track and locate deals in stores that are &quot;2 For&quot; &amp;nbsp;some dollar value. &amp;nbsp;Location of the item, as well as expiration of the deal are tracked. &amp;nbsp;Have a gander (with screenshots): &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.twofordeals&quot; target=&quot;_blank&quot;&gt;https://play.google.com/store/apps/details?id=com.twofordeals&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Tech Talk&lt;/h2&gt;DrupalGap provides a JavaScript library for your PhoneGap app, as well as a Drupal module which provides services for accessing data through the Drupal site/data. &amp;nbsp;Great stuff if you want to combine the two.&lt;br /&gt;&lt;h3&gt;JSON&lt;/h3&gt;Here is the JSON I used to create a new node which includes the following fields:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;field_cost: A Decimal field type using the text field widget&lt;/li&gt;&lt;li&gt;field_select: &amp;nbsp;A &quot;List (text)&quot; field type using the &quot;Select list&quot; widget. &amp;nbsp;Notice the difference between this and some of the other fields. &amp;nbsp;No index is used.&lt;/li&gt;&lt;li&gt;A simple Location determined by users&#39; GPS. &amp;nbsp;This is the location for the node, where 1 and only 1 is allowed. &amp;nbsp;Not sure if this is correct, but I had to provide at a minimum the &lt;b&gt;locations &lt;/b&gt;and &lt;b&gt;location &lt;/b&gt;fields.&lt;/li&gt;&lt;li&gt;Body: &amp;nbsp;standard body field used in Drupal&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&quot;node&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;type&quot;: &quot;my-content-type&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;title&quot;: &quot;This is my new title &quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;language&quot;: &quot;und&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;field_cost&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&quot;und&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&quot;0&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&quot;value&quot;: &quot;5&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;},&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;field_select&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&quot;und&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&quot;value&quot;: &quot;key-from-drupal for the select&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;},&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;locations&quot;: [{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&quot;locpick&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&quot;user_latitude&quot;: &quot;41.98464&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&quot;user_longitude&quot;: &quot;-91.673859&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}],&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;location&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&quot;locpick&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&quot;user_latitude&quot;: &quot;41.98464&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&quot;user_longitude&quot;: &quot;-91.673859&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;},&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;body&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&quot;und&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&quot;0&quot;: {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&quot;value&quot;: &quot;This is the body of my node&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For blogging purposes, some of the fields are made more generic. The location is one that exists, but points to the middle of a river. &amp;nbsp;You won&#39;t find me there. &amp;nbsp;:)&lt;br /&gt;&lt;br /&gt;I&#39;m posting this because different pieces caused me different headaches at times. &amp;nbsp;For example on the mobile app, I wanted to collect as little data as possible about the location, so I needed to find the sweet spot of how to create the location on the server side with as few pieces of data as possible.&lt;br /&gt;&lt;br /&gt;TODO: &amp;nbsp;I will eventually be changing the Location to a node reference. &amp;nbsp;Which means I will need to find the location(s) closest to the users location, display a list, then submit using that reference. &amp;nbsp;Fun!!! &lt;br /&gt;&lt;br /&gt;I hope this helps someone. &amp;nbsp;Enjoy!&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/1463120889394691532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2013/03/json-for-drupal-select-list-and-location.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/1463120889394691532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/1463120889394691532'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2013/03/json-for-drupal-select-list-and-location.html' title='JSON for Drupal select list and location'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-7711269159476441163</id><published>2012-12-19T12:57:00.001-06:00</published><updated>2013-01-07T11:17:16.539-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CentOS"/><category scheme="http://www.blogger.com/atom/ns#" term="Drush"/><title type='text'>New Server setup with CentOS 6, Drush and Drupal libs</title><content type='html'>&lt;br /&gt;My compilation of docs and tutorials to help me get a server setup with CentOS 6, Drush and various libs needed for Drupal 7. &amp;nbsp;Once that is complete and working, a short write-up on getting a Drupal 7 site up and running in less than 2 minutes.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Webmin install and setup:&amp;nbsp;&lt;a href=&quot;http://jarodms-drupal.blogspot.com/2012/07/webmin-on-ec2.html&quot;&gt;http://jarodms-drupal.blogspot.com/2012/07/webmin-on-ec2.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Config Firewall for Webmin: &amp;nbsp; &lt;a href=&quot;http://www.webmin.com/firewall.html&quot;&gt;http://www.webmin.com/firewall.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;LAMP Setup:&amp;nbsp;&lt;a href=&quot;http://library.linode.com/lamp-guides/centos-6&quot;&gt;http://library.linode.com/lamp-guides/centos-6&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Drush in less than a minute:&amp;nbsp;&lt;a href=&quot;http://danreb.com/content/how-install-drush-centos-linux-drupal-development&quot;&gt;http://danreb.com/content/how-install-drush-centos-linux-drupal-development&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Additional libraries for Drupal:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;yum install php-gd&lt;/li&gt;&lt;li&gt;yum install php-dom&lt;/li&gt;&lt;li&gt;yum install php-mbstring&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;div&gt;Additional&amp;nbsp;Steps:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Optimize php.ini&lt;/li&gt;&lt;li&gt;Depending on server, may need to open firewall for port 80&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Install Drupal 7 instance in less than 2 minutes:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Create MySQL Database&lt;/li&gt;&lt;li&gt;Create MySQL User/pass&lt;/li&gt;&lt;li&gt;Grant MySQL privileges for user&lt;/li&gt;&lt;li&gt;Config virtual host for new Drupal site and restart Apache&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;DocumentRoot &quot;/var/www/html/drupal7&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ServerName fill-in&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ServerAlias fill-in&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ErrorLog /var/www/logs/drupal7-error.log&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;CustomLog /var/www/logs/drupal7-access.log combined&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;Directory &quot;/var/www/html/drupal7&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;RewriteEngine on&lt;br /&gt;&lt;br /&gt;RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;RewriteCond %{REQUEST_URI} !=/favicon.ico&lt;br /&gt;RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;lt;/Directory&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;Use Drush to download Drupal and install site:&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;drush dl&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;drush site-install standard --account-name=admin --account-pass=admin --db-url=mysql://SiteMySQLUser:SiteMySQLUserPassword@localhost/SiteMySQLDatabase&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/7711269159476441163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/12/new-server-setup-with-centos-6-drush.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/7711269159476441163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/7711269159476441163'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/12/new-server-setup-with-centos-6-drush.html' title='New Server setup with CentOS 6, Drush and Drupal libs'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-6930381699682467868</id><published>2012-12-07T09:15:00.002-06:00</published><updated>2012-12-07T09:15:48.248-06:00</updated><title type='text'>My Dell Inspiron 1764 - CentOS 6.3 and Broadcom Wireless BCM43224 driver</title><content type='html'>There is no default driver for Broadcom wireless cards on CentOS 6.3. &amp;nbsp;Broadcom is apparently getting better at Linux support, so they provide the source you can compile to get the driver. &amp;nbsp;Here&#39;s the awesome and simple writeup that I found. &amp;nbsp;It really did take just &lt;b&gt;5-10 minutes&lt;/b&gt; of copy/paste/execute.&lt;br /&gt;&lt;br /&gt;I won&#39;t even try to recreate all the steps in this blog. &amp;nbsp;Just go to&amp;nbsp;&lt;a href=&quot;http://elrepo.org/tiki/wl-kmod&quot;&gt;http://elrepo.org/tiki/wl-kmod&lt;/a&gt;&amp;nbsp;and follow the instructions. &amp;nbsp;Worked like a charm!&lt;br /&gt;&lt;br /&gt;My setup:&lt;br /&gt;Dell Inspiron 1764 dual-boot into Windows 7 and CentOS 6.3&lt;br /&gt;PCI Device (&lt;b&gt;lspci&lt;/b&gt; at terminal) :&lt;br /&gt;Network controller: Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01)</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/6930381699682467868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/12/my-dell-inspiron-1764-centos-63-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/6930381699682467868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/6930381699682467868'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/12/my-dell-inspiron-1764-centos-63-and.html' title='My Dell Inspiron 1764 - CentOS 6.3 and Broadcom Wireless BCM43224 driver'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-3926024031447964590</id><published>2012-11-20T13:59:00.001-06:00</published><updated>2013-01-07T11:17:49.017-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Drupal 7"/><category scheme="http://www.blogger.com/atom/ns#" term="modules"/><title type='text'>Drupal User Admin module stack</title><content type='html'>Here&#39;s a stack of modules that I like which help a non-administrator manage their own users.&lt;br /&gt;&lt;br /&gt;Administer Users By Role: &amp;nbsp;&lt;a href=&quot;http://drupal.org/project/administerusersbyrole&quot;&gt;http://drupal.org/project/administerusersbyrole&lt;/a&gt;&lt;br /&gt;Role Delegation: &amp;nbsp;&lt;a href=&quot;http://drupal.org/project/role_delegation&quot;&gt;http://drupal.org/project/role_delegation&lt;/a&gt;&lt;br /&gt;Login One Time: &amp;nbsp;&lt;a href=&quot;http://drupal.org/project/login_one_time&quot;&gt;http://drupal.org/project/login_one_time&lt;/a&gt;&lt;br /&gt;No Current Password: &amp;nbsp;&lt;a href=&quot;http://drupal.org/project/nocurrent_pass&quot;&gt;http://drupal.org/project/nocurrent_pass&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once installed and enabled, I create a role (&quot;site-owner&quot; for example) and assign it the various permissions.&lt;br /&gt;A few more little tricks and now the Site-Owner can create or cancel users, assign various roles, and send them a One Time Login link if needed.&lt;br /&gt;&lt;br /&gt;One caveat I need to investigate...the Administrators (e.g., User 1) are still shown on the list of users (admin/people) and certain roles can be added or removed, but the Administrator role can&#39;t be removed and the Admin account can&#39;t be edited or canceled. &amp;nbsp;Really the Site Owner can&#39;t do anything harmful to the Admin, but I&#39;d prefer that account wasn&#39;t shown at all in the list. &amp;nbsp;I need a module that will only show the users whose role is less than or equal to the current role.&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/3926024031447964590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/11/drupal-user-admin-module-stack.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/3926024031447964590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/3926024031447964590'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/11/drupal-user-admin-module-stack.html' title='Drupal User Admin module stack'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-3347068474808897951</id><published>2012-10-18T17:38:00.000-05:00</published><updated>2012-10-18T17:41:47.171-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Drupal 7"/><category scheme="http://www.blogger.com/atom/ns#" term="JSON"/><category scheme="http://www.blogger.com/atom/ns#" term="Services 3"/><title type='text'>Drupal 7, Services 3.x , Request and Response</title><content type='html'>Here is something that I just recently learned regarding request/response from a REST server. &lt;br /&gt;In this case, I am using Drupal 7 with Services 3.x.&lt;br /&gt;&lt;br /&gt;It&#39;s just one of those things I guess you don&#39;t lean until you need to, and I never had yet. &amp;nbsp;It was difficult to find the info though.&lt;br /&gt;&lt;br /&gt;Here is the scenario:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;You are calling a web service using JSON as the Content Type.&lt;/li&gt;&lt;li&gt;You are getting back an XML response.&lt;/li&gt;&lt;li&gt;You want to get back a JSON response.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Here&#39;s what you need to do.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;Goto your services&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&amp;nbsp;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-dbcnIrUwGLo/UICDY0LIRZI/AAAAAAAABqA/t9b09cupmU4/s1600/Structure-Services.png&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;Select &quot;Edit Server&quot;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-C6nkBrDkNQI/UICC-YLjyGI/AAAAAAAABp4/9hqOmphc-QM/s1600/Services-select1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-C6nkBrDkNQI/UICC-YLjyGI/AAAAAAAABp4/9hqOmphc-QM/s1600/Services-select1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;Make sure the response formatter &quot;json&quot; is selected. &amp;nbsp;It may already be.&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-HckdmP5FoR0/UICDbnEqyRI/AAAAAAAABqI/BoeRnkunu5Q/s1600/Services-List.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://3.bp.blogspot.com/-HckdmP5FoR0/UICDbnEqyRI/AAAAAAAABqI/BoeRnkunu5Q/s320/Services-List.png&quot; width=&quot;309&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Now in your JSON REQUEST, add the following header:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Accept = &quot;application/json&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;For some reason, Drupal was returning the response in XML format by default, I don&#39;t know why, but adding this header to the request immediately gave me back a JSON response.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/3347068474808897951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/10/drupal-7-services-3x-request-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/3347068474808897951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/3347068474808897951'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/10/drupal-7-services-3x-request-and.html' title='Drupal 7, Services 3.x , Request and Response'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-dbcnIrUwGLo/UICDY0LIRZI/AAAAAAAABqA/t9b09cupmU4/s72-c/Structure-Services.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-2353413414369968431</id><published>2012-07-02T00:23:00.000-05:00</published><updated>2013-01-15T10:54:21.394-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Webmin"/><title type='text'>Webmin on EC2</title><content type='html'>Installing the RPM package of &lt;a href=&quot;http://www.webmin.com/index.html&quot;&gt;Webmin &lt;/a&gt;on EC2 was a 5 step process for me:&lt;br /&gt;&lt;br /&gt;*** Verify the latest RPM version at&amp;nbsp;&lt;a href=&quot;http://www.webmin.com/download.html&quot;&gt;http://www.webmin.com/download.html&lt;/a&gt;&lt;br /&gt;&lt;ol&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;wget http://prdownloads.sourceforge.net/webadmin/webmin-1.610-1.noarch.rpm&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;sudo rpm -U&amp;nbsp;&lt;/span&gt;webmin-1.610-1.noarch.rpm&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;sudo /usr/libexec/webmin/changepass.pl /etc/webmin root foo&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Change the webmin root password to foo.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;sudo /etc/init.d/webmin restart&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Configure IPTables to allow port 10000:&amp;nbsp;&lt;a href=&quot;http://www.webmin.com/firewall.html&quot;&gt;http://www.webmin.com/firewall.html&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/span&gt;&lt;/ol&gt;Webmin will be accessible at http://&lt;i&gt;youserverip&lt;/i&gt;:10000&lt;br /&gt;&lt;ol&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;/span&gt;&lt;/ol&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;* Works fine on CentOS in Linode and Rackspace.&lt;/div&gt;&lt;div&gt;* Would be nice to install cert for this though.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/2353413414369968431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/07/webmin-on-ec2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/2353413414369968431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/2353413414369968431'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/07/webmin-on-ec2.html' title='Webmin on EC2'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-219310238392658841</id><published>2012-04-16T15:29:00.001-05:00</published><updated>2012-04-16T15:30:13.773-05:00</updated><title type='text'>What&#39;s New in Drupal 7</title><content type='html'>&lt;a href=&quot;http://drupal.org/about/new-in-drupal-7&quot;&gt;What&#39;s New in Drupal 7 | drupal.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A good page to read...just in case someone asks you. &amp;nbsp;;)&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/pengoopmcjnbflcjbmoeodbmoflcgjlk&quot; style=&quot;font-size: 13px;&quot;&gt;&#39;via Blog this&#39;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/219310238392658841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/04/whats-new-in-drupal-7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/219310238392658841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/219310238392658841'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/04/whats-new-in-drupal-7.html' title='What&#39;s New in Drupal 7'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-5664893169875125296</id><published>2012-03-30T08:44:00.000-05:00</published><updated>2012-03-30T08:44:09.097-05:00</updated><title type='text'>Getting Drupal updates into TEST</title><content type='html'>&lt;div class=&quot;mobile-photo&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-CAYCFuJpUU8/T3W1EugmqTI/AAAAAAAAAaw/AgZKy_p3Mm4/s1600/033012082220-729963.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5725681594080340274&quot; src=&quot;http://4.bp.blogspot.com/-CAYCFuJpUU8/T3W1EugmqTI/AAAAAAAAAaw/AgZKy_p3Mm4/s320/033012082220-729963.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;. &lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I create a branch from TEST and call it something like &lt;b&gt;updates&lt;/b&gt;. (git checkout -b updates)&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Now I&#39;m working in the branch &lt;b&gt;updates&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Create a backup of the database - important and discussed later.&lt;/li&gt;&lt;li&gt;Pull the necessary modules or Drupal updates and test it out.&lt;/li&gt;&lt;li&gt;Everything look ok? &amp;nbsp;Then merge the branch to TEST. &amp;nbsp;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;git checkout test&lt;/li&gt;&lt;li&gt;git merge &lt;b&gt;updates&lt;/b&gt;&lt;/li&gt;&lt;li&gt;handle any conflicts&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;div&gt;Why would you do this rather than pull your Drupal updates right into TEST? Murphy&#39;s Law. &amp;nbsp;If you pull the Drupal updates into TEST first, then somebody is bound to have an issue or item that needs worked on that needs to go into TEST before you had a chance to&amp;nbsp;completely&amp;nbsp;test and verify your Drupal upgrade. &amp;nbsp;&lt;/div&gt;&lt;br /&gt;The approach above helps you get around this. &amp;nbsp;You&#39;re in the middle of testing Drupal updates and someone approaches you with a bug or change that needs to go into TEST first. How do you roll back to the TEST branch?&amp;nbsp;&lt;div&gt;&lt;ol&gt;&lt;li&gt;checkout TEST (git checkout test)&lt;/li&gt;&lt;li&gt;Restore the database using the backup you created earlier.&lt;/li&gt;&lt;li&gt;You are now at the TEST version you need for the new change, without those Drupal updates that you haven&#39;t completely tested.&lt;/li&gt;&lt;li&gt;Create your new bug/change branch and continue on the issue that was asked of you.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/5664893169875125296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/03/getting-drupal-updates-into-test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/5664893169875125296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/5664893169875125296'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/03/getting-drupal-updates-into-test.html' title='Getting Drupal updates into TEST'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-CAYCFuJpUU8/T3W1EugmqTI/AAAAAAAAAaw/AgZKy_p3Mm4/s72-c/033012082220-729963.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-727300997476453720</id><published>2012-02-27T10:20:00.002-06:00</published><updated>2012-02-27T10:20:12.754-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bootstrap"/><category scheme="http://www.blogger.com/atom/ns#" term="Drupal"/><category scheme="http://www.blogger.com/atom/ns#" term="old php"/><title type='text'>Drupal - Bootstrap for old PHP script</title><content type='html'>In a hurry and&amp;nbsp;I have an old PHP application that pulls data from proprietary tables. &amp;nbsp;I have connected some of the data to a node, but now I need to display the data in a&amp;nbsp;separate&amp;nbsp;window when applicable.&lt;br /&gt;&lt;br /&gt;So, using the old and large PHP script, just to get it functioning, I had to bootstrap Drupal.&lt;br /&gt;Place this at the beginning of &lt;b&gt;&lt;span style=&quot;color: red; font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;OldLarge.php&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$drupal_dir = getenv(&quot;DOCUMENT_ROOT&quot;);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$current_directory = getcwd();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;chdir($drupal_dir);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;require_once &#39;./includes/bootstrap.inc&#39;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;Do my Drupal stuff here....db_query() and whatever so that I can get results back from weird tables.&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Then at the end of&amp;nbsp; &lt;b&gt;&lt;span style=&quot;color: red; font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;OldLarge.php&lt;/span&gt;&lt;/b&gt;&amp;nbsp;, add the final code....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;chdir($current_directory);&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Eventually...some day (which ends up being never) I will convert the&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: red; font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;OldLarge.php&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;script to something more Drupalized.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/727300997476453720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/02/drupal-bootstrap-for-old-php-script.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/727300997476453720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/727300997476453720'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/02/drupal-bootstrap-for-old-php-script.html' title='Drupal - Bootstrap for old PHP script'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-8325995530970356136</id><published>2012-02-08T10:35:00.001-06:00</published><updated>2012-02-08T10:35:17.151-06:00</updated><title type='text'>CiviCRM &quot;Javascript must be enabled in your browser in order to use the dashboard features&quot;</title><content type='html'>&quot;Javascript must be enabled in your browser in order to use the dashboard features&quot;&lt;br /&gt;&lt;br /&gt;I started getting this error from some of my testers when they were using IE9. &amp;nbsp;Sure enough, I couldn&#39;t access the CiviCRM dashboard or CiviCRM menu (it acted like it was disabled).&lt;br /&gt;&lt;br /&gt;Yep, well JavaScript is enabled. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Stats on the site:&lt;/b&gt;&lt;br /&gt;CiviCRM version 3.4.8&lt;br /&gt;Latest Drupal (6.24)&lt;br /&gt;Drupal module jquery_update installed (giving Drupal the jQuery version&amp;nbsp;1.3.2)&lt;br /&gt;&lt;br /&gt;Hmmmmmm.....It works FINE with Chrome (16.0.912.77 m), Opera (11.61),&amp;nbsp;Safari (5.1.2),&amp;nbsp;and Firefox (10).&lt;br /&gt;&lt;br /&gt;Oh YEAH! &amp;nbsp;That&#39;s right!!! &amp;nbsp; Internet Explorer doesn&#39;t handle a lot of JavaScript files very well. &amp;nbsp;CSS files are limited to 32(?) I think. &amp;nbsp;Not sure what the JS limit is.&lt;br /&gt;&lt;br /&gt;So on the TEST site I enabled &quot;Optimize JavaScript files&quot; and all works well in IE8/IE9.&lt;br /&gt;&lt;br /&gt;Things to look at:&lt;br /&gt;&lt;a href=&quot;http://drupal.org/project/javascript_aggregator&quot;&gt;http://drupal.org/project/javascript_aggregator&lt;/a&gt;&lt;br /&gt;Great article by Vlad&amp;nbsp;&lt;a href=&quot;http://shvetsgroup.com/blog/optimizing-javascript-and-css-files-drupal&quot;&gt;http://shvetsgroup.com/blog/optimizing-javascript-and-css-files-drupal&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/8325995530970356136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/02/civicrm-javascript-must-be-enabled-in.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/8325995530970356136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/8325995530970356136'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/02/civicrm-javascript-must-be-enabled-in.html' title='CiviCRM &quot;Javascript must be enabled in your browser in order to use the dashboard features&quot;'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-124718657880343223</id><published>2012-01-04T21:56:00.001-06:00</published><updated>2012-01-09T09:17:30.105-06:00</updated><title type='text'>User Agents</title><content type='html'>A large list of user agents&lt;br /&gt;&lt;a href=&quot;http://techpatterns.com/forums/about304.html&quot;&gt;http://techpatterns.com/forums/about304.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Any other lists you know of?</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/124718657880343223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/01/user-agents.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/124718657880343223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/124718657880343223'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2012/01/user-agents.html' title='User Agents'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-3037951750786776383</id><published>2011-12-16T14:51:00.000-06:00</published><updated>2011-12-16T14:51:24.581-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="modules"/><title type='text'>My current sites/all/modules</title><content type='html'>My current &quot;modules&quot; folder and what it contains:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;civicrm&lt;/li&gt;&lt;li&gt;contrib&lt;/li&gt;&lt;li&gt;custom&lt;/li&gt;&lt;li&gt;&lt;i&gt;shortsitename&lt;/i&gt;_features&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I kind of like that. &amp;nbsp;Nice and sweet. &amp;nbsp;There&#39;s a bunch of modules under &quot;contrib&quot; of course, a few under custom (but growing) and a few under&amp;nbsp;&lt;i&gt;shortsitename&lt;/i&gt;_features&amp;nbsp;&amp;nbsp;(but growing).&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/3037951750786776383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2011/12/my-current-modules-folder-and-what-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/3037951750786776383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/3037951750786776383'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2011/12/my-current-modules-folder-and-what-it.html' title='My current sites/all/modules'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-4686909812497390610</id><published>2011-12-13T15:48:00.003-06:00</published><updated>2011-12-13T15:48:40.720-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CiviCRM"/><category scheme="http://www.blogger.com/atom/ns#" term="D6"/><category scheme="http://www.blogger.com/atom/ns#" term="Drupal"/><category scheme="http://www.blogger.com/atom/ns#" term="Drupal 6"/><title type='text'>CiviCRM - moving your configuration changes to a different environment</title><content type='html'>I love code driven development. &amp;nbsp;So when I build my Drupal sites, I immediately download and enable Features. &amp;nbsp;I do not&amp;nbsp;want&amp;nbsp;to handle website settings between environments by comparing screens and clicking box after box. &amp;nbsp;When you are running in a local DEV environment, plus you have a TEST and LIVE environment, using Features saves time (which of course equals money).&lt;br /&gt;&lt;br /&gt;So I started a new project using CiviCRM and the thought in the back of my mind for awhile was:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&quot;I just changed a CiviCRM setting. &amp;nbsp;How do I migrate that change to my TEST and LIVE environments?&quot;. &amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Well the time came and I had to do it. &amp;nbsp;I needed to get my TEST site going and didn&#39;t want to bother remembering all of the settings I needed to configure.&lt;br /&gt;&lt;br /&gt;Luckily, CiviCRM comes with &lt;b&gt;&lt;i&gt;migrate&lt;/i&gt;&lt;/b&gt; scripts to Export and Import your settings.&lt;br /&gt;&lt;br /&gt;First Export it from the localhost (DEV environment) using one of the options. &amp;nbsp;More exist, but these are pretty basic:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Browse to&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&amp;nbsp;http://localhost/virtual_dir/sites/all/modules/civicrm/bin/migrate/export.php?name=&lt;username&gt;&amp;amp;pass=&lt;password&gt;&amp;amp;key=&lt;look civicrm.settings.php=&quot;&quot; in=&quot;&quot; your=&quot;&quot;&gt;&lt;/look&gt;&lt;/password&gt;&lt;/username&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;This will download a file called&amp;nbsp;CustomGroupData.xml&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;li&gt;Using wget (if you want to script this and update the file at 3pm for example)&lt;/li&gt;&lt;ol&gt;&lt;li&gt;wget -O D:\dev\htdocs\virtual_dir\sites\default\CiviCRM.info &quot;http://localhost/virtual_dir/sites/all/modules/civicrm/bin/migrate/export.php?name=&lt;username&gt;&amp;amp;pass=&lt;password&gt;&amp;amp;key=&lt;look civicrm.settings.php=&quot;&quot; in=&quot;&quot; your=&quot;&quot;&gt;&quot;&lt;/look&gt;&lt;/password&gt;&lt;/username&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;I save this file to a folder in the website I am working on. &amp;nbsp;Then, if it has changed, I commit it to git.&lt;br /&gt;&lt;br /&gt;After the export file has been committed to git, then moved to your next server, import:&lt;br /&gt;http://example.com/sites/all/modules/civicrm/bin/migrate/&lt;b&gt;import&lt;/b&gt;.php?name=&lt;username&gt;&amp;amp;pass=&lt;password&gt;&amp;amp;key=&lt;look civicrm.settings.php=&quot;&quot; in=&quot;&quot; your=&quot;&quot;&gt;&amp;amp;file=../../../../../default/&lt;b&gt;CiviCRM.info&lt;/b&gt;&lt;/look&gt;&lt;/password&gt;&lt;/username&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;Notice the difference between this command and previous ones is that it uses &lt;/i&gt;&lt;b&gt;import.php&lt;/b&gt;&lt;i&gt; and specifies a file.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I noticed there were a couple of settings that did not get exported and I think those are related to CiviCRM Profiles. &amp;nbsp;I need to look into this a bit and see if this is an issue or &quot;works as designed&quot;.&lt;br /&gt;&lt;br /&gt;What are some other options for moving CiviCRM configuration changes between environments?</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/4686909812497390610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2011/12/civicrm-moving-your-configuration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/4686909812497390610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/4686909812497390610'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2011/12/civicrm-moving-your-configuration.html' title='CiviCRM - moving your configuration changes to a different environment'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-896847691844982263</id><published>2011-11-07T14:37:00.000-06:00</published><updated>2011-11-07T14:37:58.084-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Features"/><category scheme="http://www.blogger.com/atom/ns#" term="how-to"/><category scheme="http://www.blogger.com/atom/ns#" term="Process"/><title type='text'>Drupal - Code Driven Development</title><content type='html'>I think most of my sites have 2 versions...LOCAL and LIVE to allow testing of various changes as well as developing new themes and modules.  Some sites have 3 versions, LOCAL, USER TEST, and LIVE.&lt;br /&gt;&lt;br /&gt;I like having a local version so that I can polish it first.  Also, I use tools like NetBeans for coding and debugging.&lt;br /&gt;&lt;br /&gt;I use &quot;Code driven development&quot; for all my Drupal sites. Remember, the changes you are making&amp;nbsp;through the GUI&amp;nbsp;in your Drupal site are being saved to the database. &amp;nbsp;To use code-driven development, you need to get those changes out of the DB and into code. &amp;nbsp;This is where Features comes in. &amp;nbsp;My process:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Develop code or theme; make your config changes in Drupal&lt;/li&gt;&lt;li&gt;Export as much as possible using Features and Strongarm - This puts the DB changes into code&lt;/li&gt;&lt;li&gt;Checkin the code to your version control system&lt;/li&gt;&lt;li&gt;On the server - pull code from your repo&lt;/li&gt;&lt;li&gt;Enable the various Features&lt;/li&gt;&lt;/ol&gt;Once you have your systems and procedures in place, this can actually be a time saver. &amp;nbsp;It&#39;s actually quite fun!!!! :)</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/896847691844982263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2011/11/drupal-code-driven-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/896847691844982263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/896847691844982263'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2011/11/drupal-code-driven-development.html' title='Drupal - Code Driven Development'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-377304998670937425</id><published>2011-11-07T10:37:00.001-06:00</published><updated>2012-12-16T18:39:32.533-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debugging"/><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>Debugging PHP in NetBeans (in Ubuntu)</title><content type='html'>&lt;br /&gt;&lt;br /&gt;Here are the steps I used to setup PHP debugging in NetBeans (6.8 at the time of this writing) in Ubuntu 10.&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo apt-get install php-pear&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo apt-get install php5-dev&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;sudo apt-get install php5-xdebug&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Edit your PHP INI settings&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white;&quot;&gt;sudo nano&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 18px;&quot;&gt;/etc/php5/apache2/php.ini&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;Add the following lines under &lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;extensions&lt;/span&gt;&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;examplecode&quot; style=&quot;background-color: white; font-family: &#39;Courier New&#39;, monospace; font-size: 1.1em; line-height: 18px; overflow-x: auto; overflow-y: auto; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; padding-top: 10px; width: 680px;&quot;&gt;zend_extension=/usr/lib/php5/the-folder/xdebug.so&lt;br /&gt;xdebug.remote_enable=on&lt;/date&gt;&lt;/pre&gt;&lt;pre class=&quot;examplecode&quot; style=&quot;background-color: white; font-family: &#39;Courier New&#39;, monospace; font-size: 1.1em; line-height: 18px; overflow-x: auto; overflow-y: auto; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; padding-top: 10px; width: 680px;&quot;&gt;&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;In my case it was &quot;&quot;/usr/lib/php5/20090626+lfs&quot;. &amp;nbsp;You will have to find the xdebug.so file in the correct folder.&lt;/i&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: large;&quot;&gt;Restart Apache&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;sudo /etc/init.d/apache2 restart&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: large;&quot;&gt;NetBeans PHP Debug Settings&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Goto tools-&amp;gt;Options&lt;/li&gt;&lt;li&gt;Select PHP&lt;/li&gt;&lt;li&gt;On the General tab&lt;br /&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-3oeTFsy19L4/TndNfvnXdUI/AAAAAAAAAWI/T_aelw8zeMM/s1600/NetBeans+-+PHP+Debug+settings.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;85&quot; src=&quot;http://3.bp.blogspot.com/-3oeTFsy19L4/TndNfvnXdUI/AAAAAAAAAWI/T_aelw8zeMM/s400/NetBeans+-+PHP+Debug+settings.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;If this is your first time configuring xdebug, you may want to keep &quot;Stop at First Line&quot; checked. &amp;nbsp;this way when you start debugging you should know right away that your setup is correct.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Start Debugging&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Add some break points.&lt;/li&gt;&lt;li&gt;Right-click your project and select &lt;b&gt;&lt;i&gt;Debug&lt;/i&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/377304998670937425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2011/11/debugging-php-in-netbeans-in-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/377304998670937425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/377304998670937425'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2011/11/debugging-php-in-netbeans-in-ubuntu.html' title='Debugging PHP in NetBeans (in Ubuntu)'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-3oeTFsy19L4/TndNfvnXdUI/AAAAAAAAAWI/T_aelw8zeMM/s72-c/NetBeans+-+PHP+Debug+settings.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5129371444200896307.post-1868421622703253956</id><published>2011-10-13T13:16:00.000-05:00</published><updated>2012-07-01T23:44:26.919-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="CentOS"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>CentOS 5.6 server setup</title><content type='html'>These are the guides and blog posts I use to setup LAMP on my new CentOS servers:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Get a newer version of PHP&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://wiki.centos.org/HowTos/PHP_5.1_To_5.2&quot;&gt;http://wiki.centos.org/HowTos/PHP_5.1_To_5.2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Setup RPM Key&lt;/li&gt;&lt;ul&gt;&lt;li&gt;cd /etc/pki/rpm-gpg&lt;/li&gt;&lt;li&gt;wget http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Setup YUM repo for Git&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.davegardner.me.uk/blog/2010/01/29/setting-up-git-on-centos-5-server/#install&quot;&gt;http://www.davegardner.me.uk/blog/2010/01/29/setting-up-git-on-centos-5-server/#install&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Install Apache, MySQL, PHP&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://library.linode.com/lamp-guides/centos-5&quot;&gt;http://library.linode.com/lamp-guides/centos-5&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;I typically install &lt;a href=&quot;http://www.webmin.com/&quot;&gt;Webmin&lt;/a&gt;&amp;nbsp;too, so I&#39;ll document that one in a bit.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jarodms-drupal.blogspot.com/feeds/1868421622703253956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jarodms-drupal.blogspot.com/2011/10/centos-56-server-setup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/1868421622703253956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5129371444200896307/posts/default/1868421622703253956'/><link rel='alternate' type='text/html' href='http://jarodms-drupal.blogspot.com/2011/10/centos-56-server-setup.html' title='CentOS 5.6 server setup'/><author><name>Jarod</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-h-xHfZX4tO4/Tl5qKRheroI/AAAAAAAAAVE/DKHK1pPbeAQ/s220/MyPic.jpg'/></author><thr:total>0</thr:total></entry></feed>