Hodges' Model: Welcome to the QUAD: Search results for api

Hodges' model is a conceptual framework to support reflection and critical thinking. Situated, the model can help integrate all disciplines (academic and professional). Amid news items, are posts that illustrate the scope and application of the model. A bibliography and A4 template are provided in the sidebar. Welcome to the QUAD ...

Showing posts sorted by relevance for query api. Sort by date Show all posts
Showing posts sorted by relevance for query api. Sort by date Show all posts

Tuesday, December 17, 2024

NURSING -:- INFOTECH - worlds apart? Software testing

Another draft from over a decade ago ... duly revisited and updated:


https://www.statista.com/statistics/793628/worldwide-developer-survey-most-used-languages/

Reading up on Ruby and Rails and attending Scotland on Rails, I've been struck by the emphasis on testing. Testing in this context is about reliable software and building this into the 'product' from the outset. A book on Rails gets criticized because it leaves the chapter on 'Testing' until the end (even if the authors had their reasons - as they explained).

This take on testing is sufficient if (of course) it is appropriate and it is applied (as per the manual) to the application concerned. There are other more formal methods that extend to writing a specification for code which entails the use of formal specification languages such as Zed (as encountered in BA(Hons.) studies. This arises in situations were software is being developed for safety-critical situations. Clearly, robotic surgery, nuclear energy, and keeping an aircraft in the sky, take-off and landing are mission-critical. In the latter case a company is still dealing with life threatening loss of life that can follow, should the software system fail or more covertly introduce an error.

Reading about Rails, there are specific tests and these are provided as a result of scaffolding, a process whereby the bones of a web application are created within the Rails framework: with tests.

Rails creates a test directory for you as soon as you create a Rails project using bin/rails new application_name. If you list the contents of this directory then you will see:

$ ls -F test
application_system_test_case.rb  controllers/                     helpers/                         mailers/                         system/                          fixtures/                        integration/                     models/                          test_helper.rb
Source: https://guides.rubyonrails.org/testing.html

Rails uses a popular convention to organise and integrate the elements of a web application that includes a database, and dynamic interface. The approach is known as:

Models, Views and Controllers - MVC

MVC underpins several programming languages and frameworks. As displayed above, the tests that Rails creates have specific names and you can quickly see where they come from and how they encompass Rails (an essential property of course).

Today, I still wonder [ what's new! 😉 ] what is the equivalent to MVC in nursing? Models seems to fit! Over the years at many IT events, you can't help but reflect on nursing and its 'API' - application programming interface. Worryingly, in humanistic terms there is an instrumental potential in Hodges' model. If Nursing on Rails was a thing, what would the tests look like? Identity would be a feature, to demonstrate person-centredness, safety in medication and other treatment procedures. Is there a way to demonstrate the integration of care, and for a patient - the extent of holistic bandwidth? Of course, nursing comprises just a part of a clinical information system. It must be in sync in accord with other disciplines, medical and pharmacy and other multidisciplinary team members and yet ensure that 'nursing is visible'.

Previously: API : 'Waste not - want not'

Monday, June 15, 2009

DrupalCamp UK Manchester: education and a (virtual) website

DrupalCamp UK in Manchester this past weekend was a great success. The organisers, sponsors and hosts the BBC on Oxford Road did a magnificent job.

My course through the schedule found me attending:

  • Installing and creating your first site
  • Drupal for Education
  • Drupal and Scrum
  • Drupal Forms API
  • Introduction to Organic Groups
  • Creating your first module
  • Using CCK and Views
  • The Forms API - again
  • Migrating data into Drupal
  • Using Photoshop to theme a Drupal site
  • Views handlers
All this was really useful, but of particular relevance for me was Robert Castelo and Dominik Lukes's session on Drupal for Education. They discussed key modules and developments in Drupal and also related this to Moodle already well established in the education sector. Modules presented included:
Hodges modelThey began with Drupal being applied to education for brochureware (wish the new site was there!). This will be my starting point for Brian Hodges' old notes. These obviously need a place on the site, an archive where they are accessible next to new introductory material written to reflect:


health and social care, public (mental) health
informatics
education
socio-politics and the challenges of the 21st century

Yes I know that is a broad agenda ('too much'), but this is about the learners, learning tools AND the models we teach being fit for purpose...?

Additional links:

Drupal.org


My review on W2tQ of Bill Fitzgerald's book 'Drupal for Education and E-Learning'

Drupal in Education - group

Saturday, April 04, 2020

VerbAtlas 1.0 - Semantic Role Labeling and beyond! c/o Roberto Navigli

VerbAtlas 1.0 - Semantic Role Labeling and beyond!

We are proud to announce that VerbAtlas 1.0 (http://verbatlas.org) is finally available for download at http://verbatlas.org/download. Developed in the Sapienza NLP group (http://nlp.uniroma1.it), the multilingual Natural Language Processing research team at the Sapienza University of Rome, VerbAtlas is a novel large-scale manually-crafted semantic resource for wide-coverage, intelligible and scalable Semantic Role Labeling. The goal of VerbAtlas is to manually cluster WordNet synsets that share similar semantics into sets of semantically-coherent frames. The main features are:
  • 466 semantically-coherent frames using 26 cross-frame VerbNet-inspired semantic roles for their argument structure.
  • Available both for download and via RESTful API.
  • Full coverage of WordNet 3.0 verb synsets (13,000+).
  • Complete linkage to BabelNet 4.0, which supports 280+ languages (new version to come later this year!).
  • Manual mapping to PropBank of all CoNLL-2009 and CoNLL-2012 dataset occurrences (5000+ mappings).
  • Selectional preferences: the superconcept most probably associated with a semantic role in a frame (e.g. food for the patient role of the EAT frame).
  • Default/shadow arguments: arguments logically implied or already incorporated into a verb.
  • Implicit arguments: arguments that are implicit in the argument structure of a verb.
And much more! Please check out our EMNLP 2019 paper:

A. Di Fabio, S. Conia, R. Navigli “VerbAtlas: a Novel Large-Scale Verbal Semantic Resource and Its Application to Semantic Role Labeling”, EMNLP-IJCNLP 2019, pp. 627-637

and http://verbatlas.org for more details!

A state-of-the-art span-based SRL system which uses VerbAtlas and PropBank jointly is also available from the same website (just type a sentence!).

VerbAtlas is an output of the MOUSSE ERC Consolidator Grant n. 726487 and the ELEXIS project no.731015. Babelscape proudly developed the online interface and API, provides the infrastructure for maintaining the service and works on the improvement of the resource. 

Enjoy!
The Sapienza NLP group
=====================================
Roberto Navigli
Dipartimento di Informatica
Sapienza University of Rome
Viale Regina Elena 295b (building G, second floor)
00161 Roma Italy
Home Page: http://wwwusers.di.uniroma1.it/~navigli
Sapienza NLP Group: http://nlp.uniroma1.it
My Source:
The Semantic-web list @w3.org



What are / should be the current core verbs allocated to each of the care (knowledge) domains of Hodges' model?


individual
|
INTERPERSONAL : SCIENCES
humanistic ----------------------------------------------- mechanistic
SOCIOLOGY : POLITICAL
|
group - population

*personalise


scientify


socialise

 politicise
*(intra- inter-)personalise?


From above introduction to VerbAtlas:

"A state-of-the-art span-based SRL system which uses VerbAtlas and PropBank jointly is also available from the same website (just type a sentence!)."

Sentence: "Nurses wear certified personal protective equipment to care for patients with Coronavirus." in VerbAtlas 1.0


See also:


Monday, March 09, 2015

Ngrams: E-portfolios, nursing theory, models of nursing...: Do the lines run true?

For the latest module I'm looking at e-portfolios in nursing education and possibly wider afield. In the FT Weekend Life & Arts there is an extract -

Capitalism’s secret love affair with bureaucracy

- from David Graeber’s book: The Utopia of Rules: On Technology, Stupidity, and the Secret Joys of Bureaucracy published this week on March 12. It includes a graph from Google Books Ngram a word count through time of 'bureaucracy'. I'd read about Ngrams and tried them quite some time ago, but never used them. Now's my chance.

The graph below began with e-portfolio and eportfolio. I tried nursing e-portfolio... but these were not found. With conceptual framework the scale was disrupted. Adding models of nursing and nursing theory provided a frame that also nicely encompasses, at least in this rendering, conceptual space and threshold concepts.

At the risk of asking too much of the graph if not the source, we might be disappointed that models of nursing is not running concurrent with e-portfolio and reassured that nursing theory has waned but is 'still up there'. This is to forget though that the count for e-portfolio here is general not nursing specific.


Ngrams are another tool and a dynamic one no doubt, when the API is utilised, the data downloaded and words are re-examined over time. In answer to the title's question, I do not believe the lines do run true but this is about nursing and e-portfolios.

Thursday, February 26, 2015

H5P February release note (Drupal, TEL)

Here is an update on what H5P can offer. My interest lies in the Drupal module and this update includes news of:

experience API (from the Tin Can project)

Now you may store more and more data about what your user is doing with the H5Ps you create. How many attempts did she use? What scores did she get? How much time did she spend? All of this is available now, and more statements will be added - when did she stop the video? What did she answer when? What slides has she seen?

H5P triggers javascript events every time a xAPI statement is generated. ...

You may also use the xAPI to adapt to what the user does in the H5P. For instance you may display more content on a completed event with full score. H5P uses xAPI internally for the adaptivity, in the question set and in the presentation content types.
H5P February 2015 release note

Additional link:
IMS: Formative Assessments Gone Digital, by Ken Zimmerman
http://info.iu13.org/ims/formative_assessments_gone_digital

Thursday, March 08, 2018

Drupalcamp London: And all that jazz

Drupalcamp London was a bootcamp literally in light of the weather. This affected the schedule a bit but it was well worth attending.

The first session on my list was not the intended module development but:

Flexible content editing with paragraphs and Drupal 8 - with Baddý Sonja Breidert who stepped in at short notice. We were encouraged to look at Open Doors as an example of Paragraphs being deployed. The fact that there were 25 types of paragraphs prompts the thought - not so much how many would I would need but the users? Apparently, paragraphs are not that user friendly to edit. Navigation was indicated 'Manage Display' - 'Preview' - 'Paragraph'. The 'environment indicator' flagged whether the site in use was live or dev: a reminder. A future tip included not using entities, but media for anything reusable. Reusable paragraphs were applied to banner and images, using simple entities. There were some special functions (and specific modules) in the table of contents, entity embed, entity browser, insert view and add map.

In considering when to use paragraphs this connects with choosing content types - another key question for me. There was a lot more in what was a 'changed session'. I'll check the slides / videos were available and for those below. The three keynotes were excellent too:

Let’s take the best route - Exploring Drupal 8 Routing System

Drupal in the era of microservices

"Hi user, I am Drupal. How can I help you?"

Accelerating Drupal projects with Thunder: a case study

In 'Make your site findable' dutchyoda Dick Rensema pulled me up short. So, I will check out the metatags module and use this from the outset. As for being findable - it's also best to have separate text and images not have both within a WYSIWYG editor. Another point is to 'make it long'. That sits well for the archive pages for Hodges' model.

Lunchtime on Sunday was preceded with gambry on Plugin API, a key idea being:

ENTITY - Same model different data
PLUGIN - Same "thing" type different ways

This was a captivating, dense, rich session and one to revisit.

Finally, the 0930 start in London helped as I'd been up late. Ronnie Scott's is an amazing experience, the second house from 1030 doors open through to 0300: I left at 3 thanks also to Resolution 88.




Saturday, February 15, 2025

'Life's compass' ...

'... I have been thinking a lot about the responsibilities of leadership. How do people in positions of power reach decisions and do they fully consider the consequences of these decisions? In questioning how someone chooses to lead, I'm also asking how that individual navigates the possible courses of action, and what kind of compass is being used to guide them. It has made me think about how any of us choose to navigate our way through life and where we look for a sense of direction. I wonder what we might change about the choices we make if we were more reflective about what serves as a compass in our lives.'

'"The Invention of the Compass" is attributed to an anonymous painter of the late 16th century, although there exists a roughly contemporaneous plate of the same title, and of an almost identical image, engraved by the Dutch artist Jan Collaert the Elder. In the original painting an old man with a long white beard, and dressed in a voluminous red and brown cloak, sits behind a large table in the centre of a room. As well as a canopied bed and another desk spread with books and scientific instruments, there is a model, or vision perhaps, of a carrack sailing ship hanging from the ceiling. There is also a large round compass device that sits heavy on the floor on the left foreground of the canvas. ...'

'It is as if this painting (Caravaggio) intended to serve as a compass, helping to move our steps and actions in the direction of caring for others. This is a powerful idea, and it suggests that all images contain that potential to influence how we live. Where we choose to direct and keep our gaze to some extent can determine how we permit our lives to be guided, if not in a physical sense then toward a value system that can end up having an impact on the way we engage with the wider world.' (My emphasis)

Ack. Enuma Okoro, Life's compass, The art of life, Life&Arts, FTWeekend, 1-2 February 2025. p.2. (Still need to subscribe, marvellous reading!)


Caravaggio, The Seven Works of Mercy


The Invention of the Compass


INDIVIDUAL
|
      INTERPERSONAL    :     SCIENCES               
HUMANISTIC  --------------------------------------  MECHANISTIC      
 SOCIOLOGY  :    POLITICAL 
|
GROUP

moral compass
personal values
my choices

maps - compass
position - navigation
direction - distance
degrees of freedom

the public
the public good
group think


leadership
power
political freedom


Enuma Okoro, Life's compass, The art of life, Life&Arts, FTWeekend, 1-2 February 2025. p.2.

Images: 

New Inventions of Modern Times [Nova Reperta], The Invention of the Compass, plate 2
https://collectionapi.metmuseum.org/api/collection/v1/iiif/659663/1403273/main-image

By Caravaggio - Unknown source, Public Domain, https://commons.wikimedia.org/w/index.php?curid=10286196

Previously:

'compass' :: 'map'

Tuesday, September 01, 2009

Drupalcon Paris 2009: my sessions plan

As followers of h2cm on Twitter will know at the moment I am in Paris attending the European Drupalcon for 2009. I can't believe that 12 months ago I was leaving Szeged after Drupalcon 2008. You on the other hand probably can't believe that there's still no new site for Hodges' model. Well I am in no real hurry and I am enjoying the journey - literally at present.

Today, for me and other 'non-coders' there is a drupalcamp with impromptu yet very interesting talks (e.g. Google Wave and a Ruby gem for Drupal!). Tomorrow things kick off proper and here are some of the sessions I plan to attend:

Dries - The State of Drupal

webchick - Drupal 7 Status Update and Next Steps

weitzman - Explore the glory of Drupal 7's improved render and theming systems

Crell - Views 2 for developers

Benjamin Melançon - Taxonomy Everywhere: D7 Core Overhaul and the Expanding Contrib Universe
or -
yoroy - Communicating design - Sketching your way to understanding

twom - Basics of making a mobile website with Drupal
or -
bjaspan - Intro to the Field API for Module Developers
or -
fago -Rules: How to leverage rule-based automation on your sites!

Just like other streamed conferences it is hard to decide what to follow and this is just one day!

Sunday, June 01, 2008

Drupal update and Drupalcon August Szeged

A piece of paper and a pencil. That's a great place to start. ...

I haven't said much about the 'new' website recently. Perhaps that is because I don't want Drupal CMS to look like it is somehow lacking. On the contrary Drupal is still exactly where the sweet spot can be found. It's possible to create a website very quickly using Drupal, the delay lies entirely with me and my penchant for learning by distraction and doing so on a part-time basis.

So in terms of news where are things up to? Well, I've explored Drupal 4.7, 5 and now 6.2. This constant need to update/upgrade or not is a challenge in itself. Drupal 6 is still lacking some key bits and pieces, but as a virginal Drupe I can afford to look to Drupal 6 and even anticipate version 7.

Regular readers here know I've ported over some of the static pages from the 'old' site:

  • Brian's original notes I & II
  • My initial introduction to Hodges' model and the site
On the old site I never got to grips with CSS (style sheets) so part of the problem at present is that I'm playing catch-up. In addition Drupal provides some core themes that give your web site a particular look and feel straight out of the box so to speak. There are many other themes to choose from; once Drupal is installed just simply download and enable. You can also roll your own. The same applies to modules which as the name suggests are a means to extend and enhance Drupal's functionality. As mentioned ages ago I fell in love with the Denver theme, but this isn't available for version 6 as yet. Trying Salamander I have arrived at Framework which is one of a group of base themes suited for use as a foundation for theme development.

So I'm learning Drupal and CSS with the addition of jQuery - a javascript library. The static pages have a forum (just two questions), several users and a book outline for company and are styled using drop capitals on the opening section paragraphs, discrete striping for tables and a specific treatment for quotations. Reading the Pro Drupal book on the form API and creating an example, I'd actually been wondering how to put two forms side x side. Reading a CSS book it suggested that if possible reduce the number of DIVs used on a web page. What to do...? Reading the Pro Drupal themes chapter (again) I realised what an idiot I am. It is that simple: use DIVs and float them this way or that. So I must give this try and the Content Construction Kit, Views, Panels and the more generic Drupal property of regions.

I'm still really itching to get back to Ruby & Rails and the benefits of immersing yourself in something like Scotland on Rails are quite obvious.

So I'm going to see if - funds permitting - I can get to Drupalcon 2008 in Szeged this August. There may be a group of us from Manchester heading that way. Any sponsors welcome and much appreciated!

Monday, December 07, 2009

memo FROM: Classroom health TO: Global health - PSHE education and model standards

Health care and educational professionals learn and adopt the key tools of the trade whilst training. Although for several decades experiential learning has also gained recognition and weight, it is the learning of theory and relation to practice in basic training that shapes the future career. We can describe this as formative professional education. We then trust that this learning and the tools in use are updated according to research, evidence and best practice. There is much navel gazing at present as to how to measure, nurture, instill and strengthen the character trait of compassion. This applies not only to children, but within nursing.

This issue highlights of course what students bring with them to the lecture theatre, clinical arena and what they take from there to carry them through their professional career. My ideal would be that students have already learned and used Hodges' model as 14-16 year old's, as they negotiate their personal, social, health and economic (PSHE) education.


While Hodges' model is a world away from a de jure standard

- that is, defined and enforced by the ISO -
it might just :) become a de facto standard,
because of its widespread adoption in and beyond the classroom.

There is a great opportunity here for Hodges' model in the UK as PSHE education becomes compulsory in 2011. Perhaps you can help in or beyond the UK?

Reference:
Mooney, H. (2009). Can you measure compassion?, Nursing Times, 21 April 2009.


Blog post inspired by adamatronics groups.drupal.org Drupal in Education: Joint effort on a D6 SCORM API

tags: 'preventive medicine' + 'preventive medical sociology'?

Sunday, April 12, 2009

Book review: Drupal for Education and E-Learning

This is the third Drupal book I have reviewed [1] [2]. I've some experience of creating computer aided learning (CAL) programs back in the 1980s on the BBC microcomputer which were used in nurse education within the UK:

  • CAPA - Computer Aided Patient Assessment
  • The Nursing Process
  • Blood Groups
  • Shades of Grey
So I wondered how this review would run? In particular I pondered on the extent that Drupal provides not only educational resources, but data structures and means that lend themselves to creating interactive presentations and exercises. The presentations and exercises bit is important because back in the 80s (and earlier) many CAL efforts were nothing more than 'page turners'. Yes, back then I wanted to present text, but I also want to create exercises to make students reflect and think. Multimedia and the rise of i-Media which is both internet media and interactive media has changed all this. I am aware of Moodle, Blackboard plus others.... and need to understand where Drupal fits in to this educational armoury. There do seem to be moves to conjoin Drupal and Moodle in some way, but these seem stalled if not currently works in progress. If the first two books helped me learn the nuts and bolts of Drupal, then what would Bill Fitzgerald's book teach me about the nuts and bolts of Drupal in education and e-learning?

Chapter 1-3 are provide an easy to follow introduction to Drupal, installation, with more than sixty pages devoted to getting started. As with other Packt titles there are plenty of screenshots to support the text. In my copy one on page 30 is a bit dark as are a few others, but it still helps to get the gist across of what the user should be seeing. You can become blasé about introductions (and instruction manuals!), but Bill Fitzgerald does a great job. It is obvious that he has an instructor's flair for communicating, revealing details and perspectives with aplomb. One point I appreciated on page 52 'create new revision' and the default option which:

"... allows you to create wiki-like functionality; each time a piece of content is edited and saved, it creates a revision, and users with sufficient priviledges can view and revert older revisions."

There is an explanation on downloading, decompressing, uploading and installing themes and modules. There are (at least) two pivotal modules 'in' Drupal - CCK the Content Construction Kit and Views. Fitzgerald gives these the attention they deserve, introducing CCK on p. 54 (and to meet his plans the Links module). Bill runs through creating roles, and content types in the form of bookmark (chapter 3), a teacher blog and assignment (chapter 4). These are explained in four stages through pages 48-64:
  1. create the content type
  2. add fields
  3. assign taxonomy
  4. assign permissions
There is a non-trivial element to creating usable sites with Drupal and that is inclusion of a text editor. Bill uses the FCKeditor, the merits of various text editing solutions is much debated in Drupal circles. Pages 65 - 89 covers the creation of views:
  1. add a view
  2. set the defaults
  3. add a display type
The Views module is described with instructions on view creation over pages 65-89. I had heard how important these modules are to the Drupal community (and the users!) and it's obvious reading Bill's account just why these modules are a Drupaller's best friend. That is - once mastered. If not tamed completely the screenshots and notes here certainly make Views less of a challenge. As I write up the first half of this review and peek ahead I wonder if Bill can do the same for Organic Groups (OG)? Listening to a session at Drupalcon Szeged last summer OG seems a head full at least initially, or was that Panels?

The Views admin screenshot p.66 provides a helpful overview. The 'set the defaults' screenshot reveals the potential power of Views and its complexity for novices on first encounter. Bill Fitzgerald's readers will expect some labour so this is a reward rather than a problem. As educators know it is always a problem showing the mechanics of a computer-based process in a book, but this is very clear.

This is were my expectations of the book were not so much shattered as a realisation that I need to catch up with educational technology and the available forms of technical and social media. Students are tech-savvy, many come to courses prepared being users of mobile devices, social media and office applications. The book does focus on Drupal's ability to deliver the staple ingredients of interaction today:
  • student blogs
  • teacher blogs
  • comments
  • assignments with due dates
  • uploading various forms of media
Some modules become so ubiquitous to the Drupal community with their established functionality, reliability, stability and user base that if not already they can be elevated to 'core' in future releases; that is, they are included in the initial Drupal download. This is where the power and flexibility of Drupal comes in with the development and integration of additional modules and this can include educational and e-learning components. With this book I did get an early helpful sense of signposting, direction regards things I really need to address above and beyond fluency in Drupal.

On page 115 the need for sample content is raised. Content! This is what it is all about. On page 116 the create assignment figure refers to high level reflection - which made me reconsider content types and what you can achieve by keeping things simple. There is a tip on p. 118 about using node: title field for troubleshooting.

At this point in the book once again I wondered about 'instructional technology', Drupal, Moodle and Computer Aided Learning... I've created (but not deployed) a 12 item multiple choice test using HotPotatoes. In Drupal this could be a module so there is scope, the book is about Drupal's existing capacity for education and e-learning which can be extended through the core and additional modules. Specific user communities adopting Drupal have produced their own 'distributions'.

Cloning Views is a good way to learn CCK too p.123. Naming conventions in Drupal can be confusing as with the "Content: datetime: Due date (field_due_date)" example on page 128.

Chapter 5 on Enrolling Students advises you to create specific roles rather than use the authenticated user. This "provides additional level of security and flexibility" (p. 134) a key governance point, even though many academic applications may be operating within an educational establishment. In health we are increasingly 'involving patients, carers and the public' so in education parents can be invited to get involved, hence the flexibility of additional roles with the bonus of security. If admin seems a chore to you then this short chapter reveals the efficiency of Drupal which helps you to concentrate on the the essentials of a user centered site, content and experience.

On experience Fitzgerald cuations about accessibility that if students cannot publish quickly a site could be under used. The point about educational sites frequently being on-campus clearly helps with security concerns, for example e-mail confirmation of a new account may not be necessary p.138. There is reference to LDAP Lightweight Directory Access Protocol and other modules to assist with roles (p. 144); so it is well worth really thinking through your objectives and in this way I must doff my hat to Bill and other Drupal authors I have read.

In chapter 6 we clone the Teacher Blog to create a Student Blog. Views is used cloning the backlinks view as a means to see 'who is discussing what' p.149. This view isn't just repetition it extends the readers understanding of that encountered in chapters 3 and 4. There are some key points regards the subsequent updating of views as additional content types are added; and around differences in page display behaviour and that of blocks. On page 153 I struggled to find the checkbox for the illustration.

In chapter 7 Bookmarks Bill opts to use CCK to add bookmarks to the site. There are other ways and means - through the Bookmarks and Weblinks modules. My previous thoughts about Drupal in education and e-learning is illustrated by the example of Bookmarks to extend classroom activities. Again - keep things simple! A lesson here for me - which I've realised for quite some time is that there is little educational value in a collection of links for links sake as per the four links resources at Hodges' model. Links (bookmarks) are a tool and it is how they are used - the context of use that is important p.164. It is interesting how an educational interaction can quickly be established between an assigment and links. Here there is no need for complex programming or elaborated data structures.

Perhaps a little more could have been made of 'Learning Goals' p.166 even a separate chapter, but looking at the mounting page count and scope of Drupal this is for another book and the future. The Drupal community undoubtedly see Drupal as a key player so watch this space. There is a very full agenda that invites exploration and Drupal development.

Chapter 8 brings us to those content elements at the center of learners and student day-to-day learning and lives - podcasts and images p.169. On podcast production place the emphasis on content, don't get bogged down with the technical, hardware and software p.183. Accessibility and learning disability is acknowledged and project based learning. On imaging, Bill explains the relationship between Imagefield, Image API, Imagecache and Thickbox or Lightbox 2 is a gift. Detail is paid to to the Image module which is usually sufficient to meet most needs p.186. It is a subtle change but the differences between Image Module settings and admin/setting/image and Creating Gallaries p.189 admin/content/image is well worth noting.

Video in chapter 9 (pp. 195-213) is an area I know little about. This chapter made me want to learn more, and consider the possible student projects p.211 especially video bookends. Bill refers us to the work of Dan Meyer - a maths teacher - and the creation of video for specific educational goals. Drupal can also act asa hosting and processing platform for video p.212.

Chapter 10 Forums and Blogs is real bread and butter stuff. There is an informative explanation about forums and containers, and in structuring a forum the need to ensure it looks busy as soon as possible p.216. Chapter 11 is pivotal for community building - 'social networks and extending the user profile'. Firstly using the Core Profile module. There is something of a module managerie here as the Content Profile Module includes Content Profile User Registration module.

Unless I've missed a trick the illustration referred to on page 244 is three pages out being on 235 not page 238. The Content Profile User User Registration module adds the USer Registration fieldset. Once I found the correct screenshot to compare all was light and bright. Other modules for social networking and user profile are listed, with a customary closing summary for a chapter central to community building. As Bill states you want users to have a personal investment in the site p.245.

Chapter 12 brings us to 'Supporting Multiple Classes' with resort to Organic Groups and Organic Groups Vocabulary modules p.247. Attention is drawn to OG working closely with other modules particularly Panels and Notifications. Five pages in here and the utility of OG to the education and other communities is wholly apparent. It really is powerful. I could have done with reading this chapter indeed this book before attending Drupalcon. It would have served me better (rather obviously given my status) than reading Pro Drupal! Given the plethora of modules in Drupal there is a tip about duplicate functionality between OG and the core Tracker module.

For newbies to Drupal the heading "Adjusting your site to work with OG" could be read as "Adjusting your mindset to work with OG" The key as ever is content:

1. Content types that can be used to create group;
2. Content types that can be posted into groups;
3. Content types that are never posted into groups.

OG therefore prompts Bill to create the content types a Class and a Club. It is interesting that the OG fieldset refers to 'Wiki group post' with Wikis often posited as an educational tool. 'Instructor' and 'Teacher' refer to one role which threw me at first on page 256. Having content types and groups of course requires the creation of custom menus with some good insights on differentiation of navigation from other menus p.256-7. Strangely there is no mention of 'Wiki' in the otherwise comprehensive index. I believe the screenshot referred to on page 262 is that on page 260 and 261.

Views is so ubiquitous in Drupal that it is revisited in chapter 13, tracking student responses to assignments. Another module 'Coherent Access' may have a role to play in your site as Bill applies it to furnish private communication with students p.291. This mix of public and private communications bears due deliberation and is raised elsewhere in the book. Cross functionality recurs again with OG and the Coherent Access module, with work ongoing to resolve the issue in Drupal 7 (p. 293).

Beginning on page 297 chapter 14 on Themeing and User Interface Design was never going to be long. Beginners in turn are often flumoxed with primary and secondary menus in Drupal. Here Bill stresses the two principles for site design and the menus out of the box. Other modules e.g. Menu Block are discussed as a means of extending the primary menu options. Here you will learn about creating custom menus and the close relationship between menus and blocks - with the critical workflow of leaving a new menu empty initially - a key take home lesson. The explanation here on populating the primary links are a gift in their simplicity and yet their significance to a learner.

Chapter 15 covers cron, backup and maintenance with a recommended list of initial user names and passwords to document and store safely and separately. You think Bill might be tired on the final leg, but the explanation of backing up the codebase, contributed modules, files and use of the DB Maintenance module and database optimization is quite thorough. Awareness of the 'admin' side surely helps early on, and for Bill this includes knowing the status and efficiency of your database through the use of log files. Here you run full circle revisiting the structure of a Drupal site and the parts you need to backup, using PHPMyAdmin or the command line. Both PC, Mac and Linux variations are discussed p.342. Backup of a server site leads Fitzgerald to the creation and use of a test site for experiments with new modules and update procedures. No backup is complete without demonstrating the ability to recover your site. This chapter closes with short and detailed version of how to upgrade Drupal p.361.

The final chapter concerns a resource that is far from 'last' - How to work effectively in the Drupal community. Drupal.org is featured, the handbooks, becoming familiar with the issue queue, support forums and mailing lists. Drupal comes home so to speak with the groups, since there may be one near you.

I have really enjoyed this book and the sense of Drupal being established in education and keen to strengthen and extend its roots. Unfortunately, my reading has been rather broken, but this is a book I hope to use over the next few months. Those new to Drupal and not necessarily with an education or e-learning application in mind will also find much here to speed and ease their learning. As to my own learning the 80's was one thing the teenies will be another...

Acknowledgement: Thanks to Packt Publishing for the book copy.

Saturday, December 13, 2008

Book Review: Ric Shreves's "Drupal 6 Themes"

Review of Shreves's Drupal 6 Themes

If you are familiar with Packt titles then the layout, style and presentation of this one will come as no surprise. The book begins with an outline of what is to follow, the conventions used to print code, what is needed to follow the book (Drupal 6!), an invite to provide feedback, errata reports, download code examples piracy concerns and questions.
I am reviewing this as a slow learning learner of Drupal. Still a 'Drupal site virgin' (let's be clear about that) I attend the NW England Drupal group in Manchester and greatly enjoyed Drupalcon 2008 in Szeged, Hungary. Like my previous review of Mercer's Drupal 6 book in April this is a (laborious) chapter by chapter review, but hopefully helpful for all that (maybe I can get a job as a proof reader?).
So my upfront conclusion is that this is a good buy. It's not a very technical book, but it is definitely heading in that direction with the content of one or two chapters reminding me of the Pro Drupal volume. This no doubt reflects Shreves’ title with the book being well focused as you would expect.
Chapter 1 introduces the elements of a Drupal theme, with much needed instant foot and hand-holds by listing three key concepts (ways to theme) employed through the book:
  1. Theming in whole or part
  2. Building with blocks
  3. Intercept and overrides
These are covered in turn additionally pointing out aspects of Drupal that can confuse beginners, the admin theme and this being the same as the default theme. There's help with explanations of blocks, regions and how these relate to modules.
There's some text on page 11: it does hit the mark, but I think it might be improved with some illustration. That said, buyers of this book are likely to make ready sense of - "The recognized best practice approach to customising themes emphasizes making changes at higher levels, primarily to the theme files themselves." I raise this point as Ric draws attention to (what I understand is) a critical development approach within Drupal that something here deserves promotion as one of book’s 'important notes'. A figure of what constitutes Drupal's highest processes and what needs to be left in its original state might make the text clearer. This is difficult for authors, because if readers don't know this then perhaps they need to grasp some fundamentals first? As to which Ric Shreves explains what a theme is; a theme engine; and how all this makes Drupal flexible - with regions being placeholders.
Contrary to the point above overall the book is well illustrated. The way Drupal displays a page is illustrated in five steps. The default themes are listed and shown as screen dumps as with the themes config pages. This for me is not a waste of page real estate. With intercept and overrides briefly mentioned chapter 1 closes by introducing the main theme file types, the notion of sub-themes, PHPTemplate Themes and Pure PHP Themes are also differentiated.
Chapter 2 furthers the push up the learning curve, by reviewing 1.) how to install and configure pre-existing themes; 2.) convert designs and 3.) build a theme from scratch. All are discussed by Ric in this book. Beginning with a default theme, this is customized as far as the basic configuration allows. As a longer-term Drupal learner the pace of change in Drupal means that some themes and modules have to catch up with the latest releases (my student career started with version 4.7). Shreves highlights this point, before seeking other compatible themes he runs through status reports and backup should a theme cause problems. Some of the mundane, but essential considerations of themes are discussed here 'terms of use', plus headache saving tips on the use of folders. Theme specific configuration options are differentiated from global configuration settings that primarily involve modules, blocks and visibility. This helped further my understanding, and reveals Drupal's flexibility applying to users, roles, page specific settings and the use of PHP applied to blocks p.54 with four code examples. The Drupal community - a great resource - is also raised. Chapter 2 closes by dressing up a default theme (Garland) to meet a client's requirements. Before and after screen images and instruction on how to uninstall a theme leads to chapter 3.
The main theme engines are covered in chapter 3. If you are going to roll your own it is essential you understand the main files, the code and format and how they interact - that is - how they relate to the administration functions. This is detailed, but very accessible contrasting a simple (basic) PHPTemplate theme with a more complex example. A crucial kernel of knowledge for the Drupal themer is the naming conventions used in Drupal. That is, how files names affect the precedence as Drupal searches for the elements that make up a page - the content and styling. Other theme engines are also discussed with links - as per other Packt titles - to additional resources.
Chapter 4 brings us to templates, stylesheets and themable functions and shows how they interoperate. Discussion of the default templates, variables and stylesheets includes advice on disabling CSS compression. There then follows a meaty treatment – a guide no less – of theming elements, such as, theme_box and theme_breadcrumbs p.90. I wish I had come across “Theming the Book Functionality” pp. 95-97 a while back, better late then never. Part of my problem is settling on the content I need for my site. The default book content type is useful. The guide here is very comprehensive running over pp. 90-126.
Chapter 5 tackles intercepts and overrides and begins with overriding the default CSS in the Garland theme, moving swiftly to overriding templates and the themeable functions covered previously. Page 132 has an important note on theme registry and the difference between substituting template and overriding templates p.133. One aspects of many Drupal books is that they can appear repetitious, but for me this actually helps as in Drupal it seems there is frequently more than one way to skin the proverbial cat. An illustration of file naming conventions and precedence helps reinforce previous chapters and the reader’s grasp of Drupal. Chapter 5 ends with more on placing function overrides in the template.php file, the use of dedicated template files (with a step by step example); where to place themable functions overrides; how to name them and Overrides in Action. The code examples reveal the difference between default template-block.tpl.php and Garlands equivalent p.140.
Chapter 6 sets out to create a theme by modifying an existing one. As I've been finding, this isn't just a case of your knowledge of Drupal but also having a work environment that suits you. I've an old copy of Dreamweaver (from Studio MX days) and have been looking at Eclipse, PSPad, NetBeans, TextMate, Komodo Edit and other editors and tools. Ric describes Dreamweaver here, so that it can handle theme files, using a server and the use of the popular (Drupal) Devel module. (In true newbie Drupaller style I've tended to install and enable quite a few modules, which can create complexities of their own. Enable them when you need them.)
The Zen theme is then used to create a new sub-theme. The non-trivial matter of planning is stressed. Theme creation by modification is then considered step-by-step: from copying the necessary folder, renaming files, configuring the new theme, to enabling default modules that may be needed to meet a client's brief. Menus leads to links and paths a great source of confusion to new Drupal initiates. Menus need a home so blocks are further discussed with reference to CSS. A very informative twelve pages. A themeable function is overridden, a technical sounding task, but easy to follow in the form of a breadcrumb trail. The final pages of chapter 6 address formatting the blog node. A list of variables is provided comprising 18 items from $context - $zebra and de-mystifies a great deal. Another before and after screen shot completes a really useful chapter.
Chapter 7 explains building a new theme. This is an equally systematic account with illustrations, code and treatment of the essential .info, tpl.php files. There is a top-down perspective too, with page structure explained through page divisions, the placement of links, and key page elements. A final three page code listing and a eight page CSS listing is a pause for breathe. Thischapter ends with a brief review of creating a pure php theme.
I've started to create a couple of themes in Drupal, but chapter 8 is rather advanced for me - I can't (yet) claim to be a Dynamic Themer. If you are intent on fully leveraging the power of Drupal this chapter is essential reading for you. Here Ric shows how to create a unique homepage template, a different template for a group of pages, assign a specific template to a specific page, and designate a specific template for a specific user (power indeed). It's clear how the earlier chapters come in here when dynamically styling blocks. Ric highlights the utility of the Theme Developer feature of the Devel module. I've used this feature, but have yet to question the provenance of a block or other page element. I can see how helpful it will be. Other site components are dynamically styled - comment module, forum, poll and nodes. Throughout the book Shreves acknowledges the '6' in the title: dynamic styling is covered with two pages on $body_classes and a two page listing of the conditions that can be applied, for example; no sidebars. This neatly introduces collapsible sidebars (columns). Template variables crop up again, which may be a bit technical for some beginners but then beginners have to learn...
On page 225 there's another mention of the (theme) registry. There's a crucial tip on clearing the registry. p.234. I'm surprised ‘registry’ and the modules mentioned in the book don't deserve an entry in the index. Unless I missed it Jquery also is not listed, which I suppose is excusable. In theming I would have thought that awareness of the potential of Javascript and javascript libraries in particular would be useful knowledge up front. Especially so with jQuery being a part of Drupal.
I have experimented with forms and CCK in Drupal and this is fun because very quickly you appear 'productive'. Chapter 9 explains forms, how they work and the existence of the form API and reference sources. Forms are a more accessible aspect of Drupal to appreciate as you can 'see' the form in the PHP code. As there’s no such thing as a free lunch, Ric then reveals five ways to modify Drupal forms. This is done by breaking down the complexity and explaining the dependencies.
Appendix A (described at one point as a chapter) is an informative guide to Drupal stylesheets, in addition to listing the css files, the stylesheets for the default themes are also provided.
Appendix B runs through the desirable contents of a themers’ toolkit.
CONCLUSION
Shreves is aiming for a specific audience with this book - a great help for any publisher. The book may not have much to offer the Pro Drupal expert, but for beginners in theming and intermediate Druapallers there is loads of goodness here. There's also an indication of what's to follow as readers ascend the stairway to Drupal heaven, which is a tantalizing prospect.
My thanks to the team at Packt Publishing for the review copy.
I'll be reviewing Bill Fitzgerald's "Drupal for Education and E-Learning"
in due course (once the review of Hall's "Digitize this Book" is complete)
so please stay tuned!
If the NW of England is within your reach and you are in the market for
Drupal 6 training in 2009 try menu&blocks.