How can I delete broken content from a drupal site?
January 7, 2014 3:10 PM   Subscribe

You are not my programmer, but could you help me out? Problem is with broken links on a non-profit site.

My non-profit runs Drupal 6.22, with a "watershed now" theme. On the front page of the site is a sidebar that links to recent updates. The updates it imports from an associated blog are displayed correctly with two-sentence teasers, but directs to a url associated with the title of the blog post on the non-profit's website, instead of the blog post. Ex: if title of blog is lizards_save_world, the link directs to "nonprofit'swebsite/lizards_save_world" not "blogspot/lizards_save_world".

I manually checked the feed on a feedchecker, and made sure rss address was correct, but both of those things were fine. Then I deleted the 'update feed' content, but the content still appears although I no longer have the option to edit the feed since it's disappeared from the content.

So, any suggestions? I went through the drupal message board but haven't got any answers, and our non-profit's tech department is somewhat non-existent at the moment.

Ideally, I'd like for the update feed to work, but I'd also like to delete the dead links, but I can't figure out a way to do that since the content doesn't seem to exist anymore.
posted by ajarbaday to Computers & Internet (12 answers total) 1 user marked this as a favorite
 
Do you know if the sidebar is a "View"? I would not be surprised if your view is broken. It also could be a custom module of some kind, that's going to be harder to fix. Do you have a backup from when it was working. Some screenshots of what you are working with would help me understand what's going on.

BTW I started out doing Drupal in your position: a non-profit saddled with a Drupal website whose developer had since moved on to other things and eventually I got good enough at it that I was hired as a developer full-time by another organization.

If you end up being the main keeper of this site you need to set up a copy of it in a development environment so you can troubleshoot somewhere that's not live without breaking it. Depending on what OS you are running on your home computer a local development environment is going to be something like MAMP for Mac, WAMP for Windows or some kind of virtualized environment like a Vagrant instance. It's also a good time to look into whether or not your site is being properly backed up: both the MYSQL database and the code. Is the backup and migrate module installed? That will also help you pull the database into your local development environment. Maybe you can ask the original programmer about these things, but often when someone does a site for a non-profit they tend to not prioritize it.
posted by melissam at 3:30 PM on January 7, 2014


Response by poster: Here are screenshots to give you a better idea:
http://imgur.com/7iFSZuu,kXL79d6,xpFaecT
http://imgur.com/7iFSZuu,kXL79d6,xpFaecT#1
http://imgur.com/7iFSZuu,kXL79d6,xpFaecT#2

I don't believe the sidebar is a view - I think it's a block, but I can't figure out how it imports and identifies its content. The updates that do work and display correctly are manually inputted into the server, instead of being links to the blog.

Thanks for your suggestions, I didn't consider a virtual environment but I'll look into downloading wamp for future tinkering.
posted by ajarbaday at 4:03 PM on January 7, 2014


Views can be displayed as blocks.
posted by spitbull at 4:58 PM on January 7, 2014


Yep it's a view. In firebug the class is "view view-updates view-id-updates view-display-id-block_1 view-dom-id-1." The view can be displayed as a block, a page, a feed, etc. It appears at least the feed part of the view is not broken so if you can access the view you can look at how that's built and try to imitate that for the block and page.

Do you know what kind of content you tried deleting? Can you access the views page? It would be at (yoururl.com)/admin/build/views
posted by melissam at 5:50 PM on January 7, 2014


It's definitely a view. You may need to open each of the views listed under admin/build/views and inspect them carefully, in order to find the one that generates this block. The way views are made & named tends to encourage obscurity. (You name it first, then build a whole bunch of functionality that you might not have anticipated inside it, then you can't change the name or add notes or anything to explain what you did.) Just go through each of the views listed there and look for the ones that include 'block' views--one of those will most likely be the culprit.

Also--views are typically cached, so that might be part of your problem. Even though you cleaned up the source RSS file, the view/block might be cached for another few days, a week, a month, whatever. Clearing the cache might help. You might be able to do that at admin/settings/performance using the button near the bottom, 'clear cached data'.
posted by flug at 7:29 PM on January 7, 2014


Response by poster: A request to look at admin/build/views return an access denied error, for me and other users on the site. Same thing happens when I request to run cron. I have web admin privileges, and other users had same results. Is there a way around this?

The content I tried to delete was listed an update feed on the content-list page.

I cleared the cache, but content remained the same.

Thanks for your help, it's helped me understand a bit more about how the site works.
posted by ajarbaday at 5:32 AM on January 8, 2014


Response by poster: After a couple of tries, I was able to run cron. I looked over the modules page and verified the views UI was enabled.
posted by ajarbaday at 5:45 AM on January 8, 2014


You can have an "admin" account and still not have the privileges to modify Views. I've set up sites with "web admin" accounts that certainly don't.
posted by melissam at 7:13 AM on January 8, 2014


Response by poster: I like that figuring this out is sort of like a puzzle, but I feel way out of my league. Errk. Is there any way to gain access to those privileges so I can proceed? An email to the previous website developer was met with less than enthusiasm.
posted by ajarbaday at 7:46 AM on January 8, 2014


If you can get to the permissions page, you can give yourself (via your assigned user role) permission to administer views. Or if you can assign user roles, there may be a more privileged role set up that you can add to your account. I don't have a D6 instance in front of me right now. Memail if you want and I can look up the details when I'm at a computer.
posted by expialidocious at 8:46 AM on January 8, 2014


"An email to the previous website developer was met with less than enthusiasm."
That's baloney. He's the "previous" web developer and he/she should have left documentation behind detailing how to log in as User 1 (the super admin) and administer the site. If you're not getting answers, I'd run this up the flagpole to the person who hired the developer and see if they can ask for that information. Once you have that in hand, it'll open up all of your site's permissions, roles, etc. and you'll have access to the whole enchilada. Of course, as you're learning the ins and outs of the site, you should proceed with caution, so... seconding those who mentioned that it was important to set up a test site for development and testing things out first.
posted by missmobtown at 9:48 AM on January 8, 2014 [1 favorite]


I sent you some details via Memail - the location of the admin pages, etc.

If your web host has a control panel that allows you direct access to the database, or shell access to the server, there are things you can do to take over the super admin User 1 account. Also, somebody in your organization might have the user 1 login information already.

However. Drupal is a complicated system and nthing that you should really get yourself a test environment before you go tinkering.

Here are some resources to get you started:

simplytest.me is a web-based service that allows you to spin up an instance of Drupal that you can play around with for 30 minutes. You can specify certain modules to install, and choose the version. No muss, no fuss, no need to register or anything.

Once you're ready to start working with your existing content, there's no need to run WAMP locally if that's more than you want to take on. There are cloud providers who will give you free Drupal development environments. Pantheon is one that I use (full disclosure: my employer has an enterprise contract with them and we work directly with their developers). If you can get a dump of your database, an archive of your site's code, and an archive of your uploaded files (site content such as images and documents), you can import the whole shebang and then go wild with three different environments per site and the ability to back up and restore as often as you need. Then you can export everything again if you choose a different host for your live site.
posted by expialidocious at 12:52 PM on January 8, 2014 [1 favorite]


« Older ModclothFilter: Can I find quality, well-made...   |   Gyrosopic sensor question for engineers (kinetics... Newer »
This thread is closed to new comments.