Is there a way to add reusable metadata to the exam class?
As I still don't know what you want, here's what I think you might want (<- good example for bad kerning, ay?).
Code
\documentclass[answers]{exam}
\usepackage{pifont}
\usepackage{xifthen}
\usepackage{tikz}
\usepackage{makeidx}
\usepackage[columns=1]{idxlayout}
\makeindex
\usepackage[colorlinks]{hyperref}
\newcommand{\difflevel}[3][]% [some words], diff from 1 to 5, short question title
{ \ifthenelse{#2=1}{\xdef\mycolor{blue!50!gray}}{}
\ifthenelse{#2=2}{\xdef\mycolor{green!50!gray}}{}
\ifthenelse{#2=3}{\xdef\mycolor{yellow!50!gray}}{}
\ifthenelse{#2=4}{\xdef\mycolor{orange!50!gray}}{}
\ifthenelse{#2=5}{\xdef\mycolor{red!50!gray}}{}
\pgfmathtruncatemacro{\dingnum}{201+#2}
\tikz{\node[text width=\textwidth,inner sep=2pt] {\textcolor{\mycolor}{\ding{\dingnum}} #1};}
%\index{Difficulty!1!#3@\ding{\dingnum}}
\index{Difficulty!\ding{\dingnum}!#3}
}
\newenvironment{usefulstuff}{\textbf{Important concepts\\}}{}
\newcommand{\usefulconcept}[3]% label, linked text, further info
{ \tikz{\node[text width=\textwidth,inner sep=2pt] {$\bullet$ \hyperref[#1]{\textbf{#2}} #3};}
}
\begin{document}
\begin{questions}
\question[12] Did you need this?
\begin{solution}\\
\difflevel[A particularly easy question]{1}{The first bogus question}
\begin{usefulstuff}
\usefulconcept{th.pythagoras}{The Pythagorean theorem}{is important here as there is a right angle in the triangle}
\end{usefulstuff}
Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore--- While I
nodded, nearly napping, suddenly there came a tapping, As of some
one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
and nothing more.’’
\end{solution}
\question[12] Did you need this?
\begin{solution}\\
\difflevel[Quite easy, if you listened in the lecture]{2}{The second bogus question}
Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore--- While I
nodded, nearly napping, suddenly there came a tapping, As of some
one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
and nothing more.’’
\end{solution}
\question[12] Did you need this?
\begin{solution}\\
\difflevel[A little challenge, but you'll have to think carefully]{3}{The bogus question between second and fourth}
Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore--- While I
nodded, nearly napping, suddenly there came a tapping, As of some
one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
and nothing more.’’
\end{solution}
\question[12] Did you need this?
\begin{solution}\\
\difflevel[Quite a challenge]{4}{The bogus question after the third}
Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore--- While I
nodded, nearly napping, suddenly there came a tapping, As of some
one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
and nothing more.’’
\end{solution}
\question[12] Did you need this?
\begin{solution}\\
\difflevel[The question that will determine weather you're a PRO]{5}{The bogus question number five}
\begin{usefulstuff}
\usefulconcept{th.thales}{The theorem of Thales}{will be usefull as there's a semi circle involved.}
\end{usefulstuff}
Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore--- While I
nodded, nearly napping, suddenly there came a tapping, As of some
one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
and nothing more.’’
\end{solution}
\question[12] Did you need this?
\begin{solution}\\
\difflevel[A particularly easy question]{1}{The 6$^{th}$ bogus question}
Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore--- While I
nodded, nearly napping, suddenly there came a tapping, As of some
one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
and nothing more.’’
\end{solution}
\question[12] Did you need this?
\begin{solution}\\
\difflevel[The question that will determine weather you're a PRO]{5}{The bogus question number seven}
Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore--- While I
nodded, nearly napping, suddenly there came a tapping, As of some
one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
and nothing more.’’
\end{solution}
\question[12] Did you need this?
\begin{solution}\\
\difflevel[A little challenge, but you'll have to think carefully]{3}{The bogus question between seventh and 9$^{th}$}
\begin{usefulstuff}
\usefulconcept{th.pythagoras}{Quantum mechanics}{need to be used as something really strange is going on.}
\end{usefulstuff}
Once upon a midnight dreary, while I pondered, weak and weary,
Over many a quaint and curious volume of forgotten lore--- While I
nodded, nearly napping, suddenly there came a tapping, As of some
one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
and nothing more.’’
\end{solution}
\end{questions}
\clearpage
{\fontsize{20}{24}\selectfont\noindent Important Concepts}
\begin{description}
\item[Pythagorean theorem]\label{th.pythagoras}\index{Concept!Theorem!Pythagorean theorem} $a^2+b^2=c^2$
\item[Thales' theorem]\label{th.thales}\index{Concept!Theorem!Thales' theorem} if A, B and C are points on a circle where the line AC is a diameter of the circle, then the angle ABC is a right angle.
\item[Quantum mechanics]\label{pt.quantum}\index{Concept!Theory!Quantum mechanic} Tiny particles behave unexpectedly
\end{description}
\clearpage
\printindex
\end{document}
Result
Some days ago ExSheets
was uploaded to CTAN. After a quick reading it looks promising. It allows to add meta-data to the exercises and use them for filtering questions.
Part of manual abstract:
ExSheets provides means to create exercises or questions and their corresponding solutions. The questions can be divided into classes and/or topics and can be printed selectively. Meta-data to questions can be added and recovered.