Setting Up Apache Solr 4.2 and Drupal 7 For Better Search

Solr is an open source search server based on Apache Lucene. Lucene provides Java-based indexing and a search library, and Solr extends it to provide a variety of APIs and search functionality, including faceted search and hit highlighting, and handles Word and PDF document searching. It also provides caching and replication, making it scalable, robust, and very fast.
Happily, Solr also plays nicely with Drupal, the popular CMS platform. If you want fast and effective search on your Drupal site, installing Solr is a straightforward way of getting it quickly. Until this month, the Apachesolr Drupal module didnt support the current Solr 4.x schemas, but as of the very latest version of the Apachesolr module, 7.x-1.2, you can now set up Solr 4.x on your Drupal 7 site. This tutorial assumes that youre running Drupal 7.22 the most up-to-date version under Apache on a Linux box.

via How to set up Solr 4.2 on Drupal 7 with Apache.

If you running Drupal and have a lot of nodes to index and you’re not using Solr you’re missing out on a lot. Though it takes a bit of config to set up, using Solr to index and search your Drupal site is much better than the stock Drupal search.

 

Notes from Drupalcamp Atlanta 10/27/12

These are my notes from dcATL.
  • Josh Clark @globalmoxie
  • The mobile future
  • Mobile is a new platform. What do we do with the new platform?
  • How do we do more with mobile?
  • Sensors give us super powers.
  • Mobile provides the opportunity to interpret the environment, think of augmented reality.
    • Think of ways to use camera and audio in classroom, like prof mentions case and it pop ups on device.
  • Table Drum app usess augmented audio.
  • AnyTouch turns everyday objects into interface objects.
  • Leap Motion moves touch interface into 3d space, natural gestures.
  • Natural gestures are the next break through in interfaces.
  • We need to design for natural gestures.
  • Windows 8 is intended to work with any input interface. Hugely challenging.
  • Medical field is using all sorts of special sensors with mobile devices to drive data collection.
  • Personal sensors make sense of our environment.
  • But we don’t need more operating systems, interfaces.
  • Remote control is an answer.
  • Ambiguous control among devices is coming, think of phones in cars. Your car rings. When you park the car, the interface follows you. Migrating interface.
  • http://bit.ly/day-glass– A day made of glass from Corning.
    • One smart device somewhere that is driven by ambiguous interfaces
  • Wii U
  • Grab Magic http://bit.ly/grab-magic
  • http://bitly.com/proto-gestures
  • Sifteo cubesare social toys.
    • Download software as it needs it.
  • Web is just in case, everything is loaded in case we need it. Needs to move to just in time, software loaded when we need it.
  • Passive interfaces just work on their own, doing the things they need to do to perform the functions they are designed to do.
  • Devices will get both dumber and smarter.
  • Metadata is the new art direction – Ethan Resnick @studip101
  • A cloud of social devices
  • Look beyond the interface, beyond the device, the presentation to the content and the services.
  • Push sensors
  • Think social not FB
  • Your ecosystem
  • We’re all cloud developers
  • Mind your metadata
  • New input methods
  • The future is here
  • Eric Webb @erikwebb
  • See slideshare
  • Evaluating modules
    • Supported version, maintainer rep, usage, # of open issues, usage over time.
    • Record before and after install using Devel module
    • Search for tag ” performance ” to weed out general issues.
    • What to look at
      • When does it run?
      • How does it scale?
      • What if it fails?
      • Does my site care?
      • Do I need this module?
    • ID the problem
    • Where problems occur
      • Page building like views and panels
      • External web services
      • Overall complexity
        • Views in panels in panels….
      • Misconfigured components
    • Keep records, establish a metric, adopt a definition of done, don’t hide behind infrastructure
  • Types of caching
    • App level caching is not really configurable. Tings like menus, forms
    • Component level caching, user facing stuff like blocks, views, panels
      • Best to speed up for authenticated users
    • Page level caching is important mostly for anon users
  • Configuring Drupal

  • Randall Kent @randallkent rkent@sevaa.com
  • http://bit.ly/dcatl-services
  • Web services as the tip of the iceberg.
  • REST is the key to getting at the stuff in Drupal. REST is one way to create an API on Drupal.
  • REST
    • built on http
      • GET, POST, PUT, DELETE
    • Client/Server
      • Separates ui from data storage
    • Stateless
      • All info necessary to process request must be included in the request itself
    • Cacheable
    • Layered
    • Uniform interface
  • /myapi/node – gets XML
  • /myapi/node.json – get JSON
  • REST console for Chrome
  • http://github.com/randallkent
    • DrupalREST.php
    • DrupalREST.net
  • See http://drupanium.org
  • David Bassendine @dbassendine
  • Open data, social, business tools
  • Few modules for consuming services
  • Always start with looking on line for a module
  • REST vs SOAP
  • Get to know the API you are working with
    • URL and path structure
    • Testing in browser for GET, POST requires extension/plugin
  • Services client for D7 will consume Services from another Drupal instance
  • REST API and Query API handle some RESTful APIs that serve json
    • See red mine module for example
  • Core HTTP API for other services
    • drupal_http_request($url,$options(headers,methods,data))
    • Slightly diff D6 & D7
  • Last 2 require custom modules to do the work
  • Krumo – http://krumo.sourceforge.net/
  • Talking to Web Services – Resources

  • Matthew Connerton @connerton
  • AJAX allways for there fresh of data in the browser page with refreshing the whole page.

    Sample code for AJAX in Drupal7
  • Replaces AHAH, which is a good thing. Pulls lots in crooks stuff
  • “use-ajax” class
    • drupal_add_library(drupal.ajax) to get Ajax in.
    • Pulls jquery in
  • $form[‘#ajax’]
    • drupal_add_library(drupal.ajax) to get Ajax in.
    • Blur is the default trigger.
  • It’s may ease the pain of the auth code stuff.
  • Check Drupal API for AJAX Framework docs.
    • includes/ajax.inc
  • Using #states in Form API
  • Ctools modal to open modal boxes for editing and such.
    • “ctools-use-modal” class
  • Doug Vann dougvann.com
  • Module filter is cool
  • DraggableViews
    • Makes rows of views draggable
    • Can be rearranged by drag and drop
    • Has AJAX
    • No relationship required
    • Could use this to provide a sort on Lesson topics based on order in the topic grid
    • Use this to rearrange stuff on the topic list view itself on the home page
    • No subsets or at least not easily handled
  • Nodequeue
    • Collect nodes in an arbitrary order
    • Requires relationship in order to bring stuff into proper scope


Mediacurrent Blog Takes An Inside Look at the Omega Theme

CUNY’s Open Source “Commons in a Box” A Big Win For Open Source in Academia

With a $107,500 grant from the Alfred P. Sloan Foundation, CUNY has announced that it will now begin work on the “Commons in a Box” project, assembling its software into a single installation package. This means that other colleges and universities will be able to easily create their own academic platforms. News of the project came with the announcement that the Modern Language Association will take part in its development and will use the platform to create an MLA Commons for its members.

The project has been built using open-source tools, including WordPress (which enables multisite blogs), BuddyPress (a WordPress plugin that turns the blog into a social network), and MediaWiki (the Wikimedia Foundation’s wiki software). As a proponent of open-source technologies in education, that makes the Commons in a Box project a win in my book. It isn’t simply that the project will put the tools to create their own academic networks into the hands of schools; it’s that the Academic Commons development team has been sharing its coding back with the open source community, with WordPress plugins for example that have been downloaded over 100,000 times.

Inside Higher Ed: “Commons in a Box” & the Importance of Open Academic Networks

CUNY’s project joins a number of other major university projects including Open.Michigan, ELMS @ Penn State, and Open Scholar @ Harvard that are using open source software and licensing to develop sophisticated collaborative learning and research spaces. Given the collaborative nature of legal practice, law schools should be at the forefront of these sorts of projects.

DrupalCon 2010 Notes: Case Studies in Academia: ASU and Johns Hopkins

Session page on Drupalcon site.

  • Arizona State University
    • central service that includes support for Drupal
    • Drupal support and consulting includes module development and data integration
    • provide shared web services that support php generally
    • brought standards for web experience to ASU in 2006
    • Drupal provided enough options, tools, variation to make it attractive across departments and schools
    • worked hard on building community around Drupal users
      • built successful user group
      • user group is part of the job, Drupal as their day job
      • brought Lullabot in for training
    • lots of buy-in
    • brought consistent user experience, support
    • increased content reuse
    • some challenges
      • clean up of unused sites
      • growing pains
      • slow change, trying to change institutional perception, showing Drupal as legit
    • lots of Drupal developers on campus, not all development occurs in the web dev group
  • Johns Hopkins University
    • Drupal used for grants sites
    • driven by limited budgets and resources
    • CCP
    • lots of funding sources drove static sites
    • K4Health
      • brought in Drupal as a platform
      • uses OG for site w/in sites
      • web services to integrate existing old data
      • uses Google search appliance
      • custom modules
        • InMagic import
          • document management system
          • needed to import this legacy data into Drupal
          • makes use of web services hooks to InMagic
        • file cart
          • light weight way that users are allowed to d/l files, specifically allowing use in developing countries
        • OG toolkits
          • uses OG to create private collaborative areas and then use public features to make work public
          • glues a lot of other modules together
          • looks like it makes use of OG easier.
        • KSS search
          • access multiple search engines through a single search interface
        • e-learning

Drupal’s Missing Edit Tab: A Checklist to Solve Node Editing Problems

From time to time a user may not be able to edit a Drupal node and you end up tearing your hair out trying to figure out why. Sometimes the solution is obvious, and sometimes it is not. This post will take you through some of the main reasons for the problem along with suggested solutions.

via User can’t edit a node – Drupal troubleshooting | fused.

So this crops up way too often for me: a user doesn’t see the edit tab when they should. It could be a lot of things and the linked blog post covers the possibilities (with pictures). From the mundane, a particular role doesn’t have edit rights to a given node type, to the exotic, the user’s role doesn’t have rights to the input filter used to create the node, this post covers it all. Certainly worth a bookmark.