Releases: ccbogel/QualCoder
QualCoder 3.6
Various updates to QualCoder 3.6 are detailed below.
Installation:
Windows
You have two options (see attached files at the end of the release page):
- QualCoder_3_6_setup.exe: a Windows installer
- QualCoder-3.6.exe A portable binary. Double-click to run and wait for 15 seconds.
On first use of the exe, Windows will ask you to allow to run QualCoder. This is because it is from an unknown publisher. It costs a lot of money to get a trusted publisher certificate - so that will not be possible for the foreseeable future.
Mac
Attached to the release page you will find two options:
- QualCoder_3_6_arm64.dmg: App bundle for newer Macs with Apple Silicon (M1 ... M4 processors)
- QualCoder_3_6_x86_64.dmg: App bundle for the older Intel-based Macs.
We are currently not able to sign the app bundles, so you will get a warning that QualCoder is from an unregistered developer. You have to manually allow the app to be executed, if your Gatekeeper is active. Follow these steps:
- Double-click the downloaded dmg-file.
- Drag QualCoder into the link to your applications.
- Start QualCoder by double-clicking the app within your applications folder. You will get an error that QualCoder is from an unregistered developer. The app will not start.
- Go to Settings -> Privacy and Security -> Scroll down until you see a message stating QualCoder was prevented from starting. Click on "open anyway".
- From now on, QualCoder should start without issues.
Linux
A binary (double click to run) is available for Ubuntu 24.
Run from source
For install from source code, download the zip file below and use the instructions on the main GitHub QualCoder page, or the wiki to install on your operating system.
License changes
The license for QualCoder has been changed to the GNU Lesser General Public License (LGPL) version 3 license.
General changes
Throughout QualCoder all the icons have been replace with material design icons.
Thanks to Kai:
A lock out for the SQLite database to prevent multiple access.
Improved error messaging with an error dialog class.
Default to native style on Windows.
Applied UTF-8 to config file.
Kai Droege - Artificial intelligence features
Many thanks to Kai for testing and developing these features over the last several months.
- An AI based search function to explore the data, look for a particular phenomenon or concept in the whole corpus and interpret the data interactively with the AI. This is part of the text coding workspace.
- An AI Chat: Here, the AI analyzes data, summarizes the results (with exact sources, linked to the original documents), and allows to discuss them. I have implemented three types of chats:
** A “code chat” that works on already coded data,
** a “topic chat” that explores a certain phenomenon in the data, even if it has not been coded yet (this is internally using the ‘AI search’ described above), and
** a “general chat” that allows to discuss any question not directly related to the data (basically a build in ChatGPT). - Prompt Editing: All the functions described above can be modified by varying the underlying prompts that instruct the AI what to do (in plain English). QualCoder already comes with a predefined set of prompts. These allow, for instance, to modify the AI search to be either very open, interpretative and inclusive or to be more focused, adhering to predefined coding rules outlined in the code’s memo (as it is common practice in content or thematic analysis).
- Methodological control and transparency: The user can also rewrite these prompts or define their own, targeted at their particular methods and research questions. This is a major advantage over commercial QDA software packages that do not offer the same level of transparency and control since they keep the underlying prompts confidential. Not so with QualCoder, which offers an easy to use interface to view, modify, and share such prompts.
- Different AI models: QualCoder uses a combination of a local AI model, specialized on multilingual sematic search in a large corpus of data (an E5 sentence encoder) and a Large Language Model (LLM) like GPT-4, usually hosted online. QualCoder can now also use other LLMs, in particular the open-source models offered by the German academic research agency Helmholtz Society (project “Blablador”, free academic access available). The available models are defined in QualCoders config.yml
Implementation details:
By default, the AI features are disabled. The user is asked at the first startup whether they want to enable it. If so, a wizard will guide through the setup process. This wizard can also be started later via the new AI menu.
Startup: Even with the AI turned off, the startup time will be a little longer. Some of the heavy AI-related libraries (especially “sentence-encoder”) will be loaded in a background thread to prevent the app from becoming unresponsive. A new status message at the bottom of the app indicates when the AI is ready.
Vector store: For the semantic search to operate, all text based empirical documents in a project must be converted into semantic embeddings using the local AI model (sentence encoder) mentioned above. These embeddings are then stored in a special database called a “vector store”, based on chroma_db. This happens only once (and when a document is edited, renamed or newly added). Since the analysis of a large document can take up to a minute or longer, this is done in a background thread (status bar: "AI: reading data"). The AI features cannot be used until this process is finished.
Data Structure: Additional AI-related data will be stored in a newly created subfolder within the project called "ai_data". This contains the vector store, a yaml-file with project specific prompts (if there are any) and an SQLite database storing the AI-chats.
UI integration: A new tab for the AI chat and a new menu for the AI features. All AI-related settings are incorporated in the normal settings dialog.
Manage files
Context menu. Added a show all rows EXCEPT value.
Added button to rename all visible rows. Select visible rows by using show value like, show this value and/or show Except value. The rename take a user created prefix and the _001, _002 et cetera.
Editing text files. Uses a different module to speed up identifying changes. A big improvement with large text files.
Manage files - audio video
The option to automatically transcribe audio to text using AI has been removed.
Some
Import survey
The default process is now for each qualitative data column, will be imported as an individual file into the database.
On import each qualitative column name will be added as a code, and the relevant row text will be auto-coded to that code.
Manage references
Improved several functions.
Can view the file via right-click on the file in the files table.
File linked ris_id now has a tooltip that shows the reference title, year and reference type.
New button to automatically link a reference to a file. This works by matching words in the reference title to words in the file name. Needs at least a 70% match between the words to automatically link.
Check the linking after it is applied to ensure it is correct.
Fixed error that kept reference attributes for a file, that remained after a reference was unlinked.
Codes
Code organiser menu option.
Useful for grounded theory development to help develop and organise the coding concepts and their hierarchy.
BACK UP PROJECT before applying changes to the codes tree.
Select a code branch or All, then right click to:
Add categories, rename codes and categories, update memos, merge codes, merge categories, delete categories.
Code images
Can export image grayed-out/blurred/solarised with coded sections highlighted, using key press Ctrl G
Can export image grayed-out/blurred/solarised with selected coded area highlighted - using right-click context menu in a selected coded area
Can export image grayed-out/blurred/solarised with selected code highlighted - using right-click context menu in a selected coded area
L keypress to 'Show codes like' when coding area is in focus
Code text
Line numbers added to show position in text.
A button added to set a default colour for all newly added codes while coding, instead of a random colour.
L keypress to 'Show codes like' when coding area is in focus
Code audio video
Added a button to open the context menu for options with coded segments. Select the segment then the option.
This is a hack to fix an issue in the Windows Exe where right-click on a segment does not open the context menu.
L keypress to 'Show codes like' when coding area is in focus
Reports
Report codes
Checkbox added to allow of export file and case attributes. This is only for exporting codes results as Excel (XLSX) or CSV file formats.
Each file variable will be prepended with FileVar_
Each case variable will be prepended with CaseVar_
HTML export with media links.
The export links contained some errors. This has been fixed.
Codes by text segments
This report creates a table where each text segment is one row. The columns are of all selected codes. A 1 represents that the segment is coded by that code, a 0 - it is not coded by that code.
This function is useful for those researchers who code the same segments of text with multiple codes, such as in the legal field or organisational psychology.
Code co-occurrence
This report shows a table of code names along the x and y axes. The table cells show the count of coding co-occurrences. This is where two codes overlap or are directly abutting. Click on the cell to show the text coding details.
Options include: selecting specific text files or selecting specific codes. There is an export to Excel option.
...
QualCoder 3.5
Early release of 3.5
This an early release of 3.5 to have all current updates and fixes in place, as there is potentially a major change coming in the next version, with introduction of artificial intelligence and GPT4 identification of coded text. (Still in development thanks to Kai Droge).
A binary (double-click to run) for Windows is available at the end of the release page for:
QualCoder-3.5.exe md5 checksum: 3faa37a813bf3944b2409c424077ee19
On first use of the exe, Windows will ask you to allow to run QualCoder. This is because it is from an unknown publisher. It costs a lot of money to get a trusted publisher certificate - so that will not be possible for the foreseeable future.
A binary (double click to run) is available for Ubuntu 22.04. The md5 checksum is: 4d754d388a3e921162fbfd56b3c84edc
For install from source code, download the zip file below and use the instructions on the main GitHub QualCoder page, or the wiki to install on your operating system.
A PDF manual of the 3.5 release can be purchased from:
https://www.buymeacoffee.com/ccbogelb/extras
Wiki: https://github.com/ccbogel/QualCoder/wiki
Report codes
Removed [VIEW] in the header of all the code segments in results. It has been replaced with character positions for coded text segments. e.g. [150-188]
Added context menu option - Change code to another code.
Replaced cogs button with Play button triangle. Repositioned and made larger button. Replace word 'search' with 'Run report'.
NEW Report - Code text exact matches
Added a new report that reports on exacted text matches in each file, where multiple codes have been applied to the exact same text. This report is perhaps particularly useful for those people who use codes as variables to perform analyses.
Code text
Export html now includes tooltips when hovering over coded sections. Some character set display issues for some characters, e.g. Euro symbol.
Export text is a new option. this exports a text file with coded segment marked with text in parentheses like this:
Regular text {{code name{{the tagged text portion}}code name}} regular text.
Stating character position: click in the displayed text and press ! to show the numeric position in the text. Press $ to shift all coded segments after the clicked position by up to to +/- 500 characters.
Charts - Word cloud
The word cloud has been changed with 'home grown' code. That is, I made my own word cloud code in python. This was mainly to prevent errors with packaging the PyPi Wordcloud into pyinstaller.
Error fixes
-
Zero division error in compare coders. Occurs under a specific circumstance - a code has been created but never assigned to data. Fixed.
-
Creating a Case Attribute from the Cases screen. An error occurs. A work around is to create the Attribute from the Manage Attributes screen. Fixed.
-
Wordcloud function does not use coded text within selected category. Fixed.
Problems in this release
The Code Audio/Video Segment right-click context menu does not work when using the Windows exe. (a brief flash then disappears). Download and run the source code instead, if this is a feature you need.
Issue with the python vlc module with Fedora 39. Unable to resolve this. So, for audio/video (loading files or coding) either use a different OS or another qualitative software.
Issue with installing pyqt6 on ChromeOS. Unable to resolve this.
Coding report - when selecting cases via attribute parameters, and multiple cases are assigned to parts of the same text document (e.g. from a survey import), the entire text document is used in the report.
Coding report - when Important only is checked, this is ignored in cases search report. Fixed in 3.6.
Some people have had trouble running the QualCoder-3.5.exe on Windows.
I have added another Windows exe with an updated QtCore module - I hope this solves that issue.
QualCoder 3.4
QualCoder 3.4
A binary (double-click to run) for Windows is available at the end of the release page for:
QualCoder-3.4.exe md5 checksum: cbdd7585b06f50e93949a942320d2676
On first use of the exe, Windows will ask you to allow to run QualCoder. This is because it is from an unknown publisher. It costs a lot of money to get a trusted publisher certificate - so that will not be possible for the foreseeable future.
A binary (double click to run) is available for Ubuntu 22.04. The md5 checksum is: 926f12b7befc8bb3e868e43820f2cda9
For install from source code, download the zip file below and use the instructions on the main GitHub QualCoder page, or the wiki to install on your operating system.
Changes
Manage files
Added a date entry selector via the right-click menu option. This works on attributes that are character and have 'date' in the attribute name.
Added right-click menu option for reference columns (Ref_Authors, Ref_Title, Ref_Journal, Ref_Type, Ref_Year). This allows copying reference to the clipboard as a Vancouver or APA style reference.
Code text
Press ! to show the current numerical clicked position in the text.
After Edit mode changes - sometimes code positions can be shifted wrongly after the edited section.
Press $ and all codes after the clicked position can be shifted left or right by X characters.
A pop up box will ask how many characters to shift. Negative numbers shift left and positive numbers shift right.
Save a backup of the project before doing this action.
Note - Best practice: whenever you decide to edit the text of a text file with already coded text, it is best to save a backup of the project before editing, in case the coding positions are wrongly repositioned.
Removed the journal view option from the right-hand side hidden pane. This occasionally caused some errors. Additionally, the Manage journal menu opens the journals window as a separate floating window that can be used for writing journal notes when coding, getting reports, paste references or performing other functions within QualCoder.
Code PDF
Direct PDF coding is challenging but QualCoder can now display the pdf pages within QualCoder - with a lot of limitations.
Unlike Microsoft Word or LibreOffice Writer or plain text documents, Pdfs are very different. They are designed in a print format and not designed to have text extracted. Some Pdfs may present the text as a full page image - so text extraction is not possible without using optical character recognition software. This will not be an option in QualCoder -you would have to do this separately and import the plain text. Where there is text on a Pdf page, the text does not naturally flow from one bunch of words to the next like in a Word document. Instead the text is displayed in text box chucks with x and y coordinates to position each text chunk on the page. Text extraction, like QualCoder using pdfminer, estimates what the next flowing bit of text is, based on these x, y coordinates. This can be correct and be wrong sometimes too.
QualCoder uses pdfminer, so the limitations of pdfminer and re-interpreting pdf display are present. So far, pdf rendering is adequate, to be able to perform text coding.
There are quite a few limitations regarding displaying the graphics - Images and Polygon shapes. Pdfminer does not find all the images on a page and some images appear to be like photo negatives. Often images have a mask to display a portion of the image, or to rotate the image - I cannot work this out yet. Other problems I have come across, is the order of displaying items, particularly, lines, rectangles, curves and images when overlapping. Curves are polygons which require extra instructions to display correctly, so for now they will appear chunky. The text will be displayed using one font - the font size can be changed to overcome overlapping text display issues. Also, each character within a text box can have its own formatting (colour, size, emphasis), so most of this is ignored and formatting is estimated for the entire text chunk.
Large PDF files will take time to load - as QualCoder has to parse the entire set of objects for the PDF before it is displayed. This is noticeable with 10 pages or larger files.
The right-hand side pane displays the plain text for the page.
Controls and options:
Checkboxes at the top will show or hides PDF elements such as lines, rectangles, curves (polygons), images, text. Another check box will display all text in black, in case it blends with background colours.
There is a page selector, or type in the page number and press enter.
There is a text font size adjuster in case the font from the text boxes overlaps too much.
Click on the PDF display and + or - will zoom in and out.
You can export an image of the rendered PDF with coding stripes.
Journals
Can now have journal attributes. Can order by column ascending or descending.
Can Show names like ... or attribute values like ... or select a specific coder name to trim the list of journal rows displayed.
The journal window will now display as a floating window.
This change is so that you can read a coded text, image or audio/video or view reports and at the same time write into the journal entry.
Report codes
When a coding report is run and results are displayed.
You can delete codes by right-click on the code heading and select unmark.
You can add an important mark to a coded segment.
In the code tree area, right-click to select all codes, unselect all codes, and select codes where the name contains matching text.
REFI-QDA Project export
Fixed a None type error. Where memo data was Null instead of empty strings.
Charts
Added a wordcloud charting option, with selection of several background colours. This option is not available in the Windows exe or the Ubuntu executable as it caused an error when creating the exe. You must do a manual install on Windows to get this function.
References
Added right-click menu option to copy reference to the clipboard as a Vancouver or APA style reference.
More columns show in the Manage reference pane.
Options to sort and filter the reference list and the files list.
Sorting is alphabetic not numerical (e.g. journal volumes and issues). As the RIS import is text based some of these fields can contain text and not only numbers. For example, volumes: I, II, II, IV, or issue 1, issue 2 summer.
Alphabetic sorting of numbers is like this:
1
10
101
12
2
21
Translations
I use DeepL for translations. most translations are done. Some on the QtWidgets are not done.
Fixes
- Fixed showing annotations from other text files, when viewing current text file.
- Fixed rare occurrence integrity error. When merging a code into another code and all unique constraints match - e.g. owner, cid, fid, pos0, pos1.
- Fixed coder comparisons report error that failed to make report. (partly fixed, see below).
Errors
-
Zero division error in compare coders. Occurs under a specific circumstance - a code has been created but never assigned to data.
-
Creating a Case Attribute from the Cases screen. An error occurs. A work around is to create the Attribute from the Manage Attributes screen.
-
Wordcloud function does not use coded text within selected category.
Fixes for zero div and case attributes:
- The Windows exe and the Ubuntu executable have been updated to fix these errors. (27 Oct 2023).
3.3
QualCoder 3.3 Release
Binaries (double-click to run) are available at the end of the release page for:
Windows 10/11 QualCoder-3.3.exe md5 checksum: 0b8f50b6d6c5e22d3cb17d2c78f2facb
Ubuntu 22.04 QualCoder-3.3-Ubuntu-22.04 md5 checksum: b7eff6944e0da74c444b710f451eae15
On first use, Windows will ask you to allow to run QualCoder. This is because it is from an unknown publisher.
It costs a lot of money to get a trusted publisher certificate - so that will not be possible for the foreseeable future.
Main
Import a codes list from a plain text file. One code name per line. No categories are applied.
Projects created in 3.3 (or newer). If opened in older versions of QualCoder, text files may not be display in the Coding - Code Text section.
Accessibility
Throughout - added more key shortcuts. Under Help there is an option to display all the key shortcuts.
The colour selector shows how code colours can be seen with different types of colour impaired vision.
Under Coding menu there is a new window called Colour scheme. This allows a range of selected colours to be applied to a range of codes. This area also shows how the colours may be seen by people with different types of colour impairment.
Manage files
Can hide columns by right-click on the table header row for options to hide that column or to hide columns beginning with specific text. Or to show columns where the column name starts with specific text.
Can assign a file to a case via right-click menu when in the cases column.
Can right-click on a URL in an attribute and open the URL with the default web browser.
Faster table filling.
Twitter data
Import twitter data from a fully quoted csv file.
Example file in Examples folder.
Requires these exact column names: id and full_text headers for tweet data and screen_name for user data.
Additional tweet fields can be these exact column names:
created_at, coordinates, retweet_count, favorite_count, lang
Additional user fields can be:
location, url, description, followers_count, friends_count, listed_count, favourites_count, statuses_count
The twitter import page also has an example of how to use R with RTweet to extract tweet data. This was tested and worked before twitter applied a fee for service. Note that currently there is a cost associated with accessing twitter data. I cannot give advice on any problems you may have getting twitter data.
The tweet data is loaded into individual database files (Manage Files), The user data is loaded into cases (Manage cases). Multiple tweets (stored as files are assigned to the matching user (case).
Manage cases
Faster table filling
Can hide columns by right-click on the table header row for options to hide that column or to hide columns beginning with specific text. Or to show columns starting with a text value.
Can order by case name or by attribute value, ascending or descending.
Can hide rows by right-click menu and selecting a text value that equals or 'is like' some chosen text.
Case file manager
Some improved functions in this dialog include a check box to hide assigned files. The right hand side text edit will fill with any file text when the file is selected in the left hand side table.
Journals
Some markdown is enacted to make viewing journal entries nicer:
#, ##, ### for heading levels
**text** for bolded text
*text* for italic text
Code text
'in vivo' coding added. Selected text becomes the code
Colour scheme
There is a new window for setting colour ranges to codes. It also has options to see the codes from difference colour vision perspectives.
Bugs in this release
Code Text: Mouse text hover. Annotation tooltips from other text files are shown when mouse hovers at annotation position in the current text file.
Coder comparisons report. Error and fails to make report.
Merge codes error - unique integrity error - identical codes on identical text positions for identical coder. Probably been present for a few releases. But a rare occurence in practice.
3.2
QualCoder 3.2 Release
Binaries are for:
Windows 10/11: QualCoder-3.2.exe The md5 checksum is 7d31334746649fd7549dbf487090660c
On first use, Windows will ask you to allow to run QualCoder. This is because it is from an unknown publisher.
It costs a lot of money to get a trusted publisher certificate - so that will not be possible for the foreseeable future.
Ubuntu 22: QualCoder-3.2-Ubuntu22 The md5 checksum is 3aff11cacd998fab9b998cf34d78d9c6
Overall changes
Removed dependency on VLC software for audio/video. (thanks Andrzej)
So if VLC is not installed you can code text and images. You do require VLC for playing and coding audio/video.
Removed reliance on lxml python module. QualCoder will not crash if lxml is not installed. lxml is now only used for xml validation for REFI-QDA imports and exports. Reason: python 3.11, some people had problems installing lxml.
Settings
Added stylesheet options for overall look of QualCoder.
Added option to select number of characters before and after, when doing coding reports for coded text in context of the surrounding text.
Added option to highlight the coded text in bold, italic or larger font, within the surrounding text.
Bibliography
Import references from .ris or .txt files in the RIS plain text format.
Coding in Code Text, Code AV, Code image.
Added options to the Show coded files window:
These options include adding another code to the coded section, removing the code.
The coded text segment can be resized using Alt or Shift and Left and Right arrows to shrink or extend the text segment.
Code text
- Right-click menu option to create and mark selected text with new code.
- Do not clear search text term, when opening a different document.
- Long code or category names are shortened to 50 characters with '..' in the middle. Mouse hover displays the full code name. This was to prevent the codes tree taking over a lot of horizontal screen space.
- Auto-code with exact text button. Right click on the button to get options of auto-code all text (the default), first match in file, last match in file. Then press the button (left-click) to run the action.
Code Images
The coded image can be exported as an html file. Mouse hover highlights the coding details for each area.
Image rotation
Images in most places can be rotated. Mostly via right-click mouse button menu.
Report codes
- Code name results can be ordered by alphabet or by frequency of codes ascending or descending
- When cases selected can now also have codes/categories by file (for the selected cases).
REFI Project import
There is improved importation of text annotations. Required for how Nvivo stores text annotations in the qdpx folder.
Error fixes:
Fixed translations not being recognised in Report Coding matrix combo boxes.
Nvivo REFI-QDA project import re text annotations
REFI-QDA Codebook importation - typos stopping import, now fixed.
Wiki Manual
https://github.com/ccbogel/QualCoder/wiki
Facebook group
https://www.facebook.com/groups/1251478525589873
Windows exe does not start
In some circumstances, you might get a notice that Windows cannot access the device, path or file. You may not have the appropriate permissions.
Suggestions to resolve this are here: https://support.microsoft.com/en-us/topic/-windows-cannot-access-the-specified-device-path-or-file-error-when-you-try-to-install-update-or-start-a-program-or-file-46361133-47ed-6967-c13e-e75d3cc29657
Alternatively, if none of the suggestions work, install from source code, see github main page for details on installing from source and running using the Command Prompt.
Issues or errors with this release
The Ubuntu executable does not work with vlc for audio/video on all computers. So if you get a message like this 'WARNING qualcoder.manage_files.view_av 'NoneType' object has no attribute 'media_player_new''
The only solution is to install from the source code and not use the executable.
macOS there is an issue with playing audio/video so Audio/Video may not be usable with QualCoder.
View charts - Select Attributes button to filter files for charts error
QualCoder 3.1
QualCoder 3.1 release information
I have only tested on Ubuntu 22.04 and Windows 10.
You must have VLC installed.
Optionally, install ffmpeg for speech to text and waveform image creation. (ffmpeg tested on Ubuntu only).
In the Assets section below:
There is an exe for Windows 10 and 11 QualCoder-3.1.exe, double-click to run. The md5 checksum is: 53d693a1add52f7aa380fce3d1023b15
There is an executable for Ubuntu 22.04 QualCoder-3.1, double-click to run. The md5 checksum is: 49ae546bccab8be1a11b2646c4b7fbbd
Alternatively, download the source.zip, unzip and manually install using the commands.
Please read the manual:
https://github.com/ccbogel/QualCoder/wiki
And the license conditions: https://github.com/ccbogel/QualCoder/wiki/01-Introduction
Settings
Very large text files, slows the program when coding.
Added option to choose character text chunk size, when coding very large text files.
Code text
Added right-click option to change the code to another code.
Added display of annotations in the tooltips.
Reports Codings, File Summary, Code Summary
Added search coding results for text.
Reports Codings
Added memo display options.
Added wrap for matrix vertical and horizontal headers.
Can export matrix as Microsoft Excel spreadsheet.
Report relations
Added extra columns for the ctid identifiers and text.
Added statistics summary table and csv export.
Reports Graph
Save, load and delete graphs. Can add various elements and lines to the graph. It can be used as a concept map or mind map.
Show coding ids in graph tooltips where settings show ids is active.
Error fixes
Fixed two recently identified issues to improve REFI-QDA project import and export.
Fixed ODT file import error.
Fixed codes by file matrix report error.
Errors in this release
- Import of Nvivo REFI-QDA project file. If the file contains text annotations - the import may halt.
- There is an error in importng REFI-QDA Codebook files
- The Manage Files View Audio/Video may hang if ffmpeg is installed on Windows (and maybe macOS). As the function to create a waveform using ffmpeg may be flawed. A quick fix would be to un-install ffmpeg.
- View charts - Select Attributes button to filter files for charts error
Facebook Group
QualCoder 3.0
QualCoder 3.0 release information
I have only tested on Ubuntu 20.04 and Windows 10.
You must have VLC installed.
Optionally, install ffmpeg for speech to text and waveform image creation. (ffmpeg tested on Ubuntu only).
There is an exe for Windows 10 and 11, double-click to run. The md5 checksum is: c8b3813ca3b5b9612e462110af602a94
There is an executable for Ubuntu 20.04, double-click to run. The md5 checksum is: ddd01ab1e5ab3f41e7db5ad4dafc7ca7
Alternatively, download the source.zip, unzip and manually install using the commands.
Qt6
Moved the graphical framework from Qt5 to Qt6
Manage files
- Rename database file name entry function added.
Code text
- Fixed uncaught IndexError exception when editing text positions.
- Fixed AttributeError updating Tooltips in merge_codes
- Export coded text file to odt or html. Does not export the tooltips (future work to do).
Reports
-
Added Charting function.
-
Pie, Bar, Sunburst, Heatmap and Treemap charts can be created and are displayed in the default web browser.
-
Heatmaps are limited to 40 rows and 40 columns for nicer display.
-
Graph
- Added functions to show files and cases as text objects.
- Added function to add extra free text objects and lines.
- zoom +/- function.
- Future work will be to save and load these user edited graphs within the database.
Special functions
- Added ability to merge another QualCoder project into the current project. Always do a back up of your project first.
Errors fixed
- File deletion error - SQL bindings mismatch - fixed.
- Uncaught IndexError exception when editing text positions from within code text - fixed.
- AttributeError updating Tooltips when merging codes- fixed.
- Dark text on dark code colour in Code image fixed. Now shows white text. fixed.
Read the Readme file for installation from source
Errors in this release
- Minor: Manage Files > Viewing Text file. The right-click context menu causes an error. This error is fixed in the binaries below.
- Under some circumstances REFI Project import won't work ( due to a missing utf8 encoding line). (Now fixed in current code, for subsequent release).
- Under some circumstances REFI project export (text coding) contains invalid XML. (Now fixed in current code, for subsequent release).
- ODT files may not import. Quick solution - open with LibreOffice or MS Word and save as plain text file, then import the plain text file.
Facebook group
QualCoder 2.9
QualCoder 2.9 release information
Two binaries are included made with pyinstaller using python3.8.
An exe made on Windows 10. md5sum 51e9906532f8073df0d5bbb1420df41f
This may work on earlier Windows versions.
An online virus testing site www.virustotal.com indicated 2 vendors out of many detected a potential problem due to their detection methods (5 March 2022). Always check the MD5 checksum on downloading the exe. I have not got the exe Microsoft certified (I am not sure of the processes or cost involved). If you are uncomfortable with these warnings install from source instead.
An executable made on Ubuntu 20.04. md5sum 5062ffd0666e631d932b2166bcebc0a1
This might also work on other flavours of Linux (let me know so I can add those details here). Does not work on Ubuntu 18.04 pr Ubuntu 22.04.
For all installations you must have a current 64 bit VLC program installed. Optionally, also have ffmpeg software installed for Speech to Text.
Changes in this release
Improved PEP compliance in the coding.
Manage files
Option to use a speech to text service if there is no transcription text present.
This requires ffmpeg software to be installed.
Fixed a time stamp error when inserting a time stamp on a transcription.
Manage bad links to files
Added an automated search that looks through the user's home directory for up to 2 matching file names. This intended to speed up finding the link to files where the link is currently pointing to nothing.
Coding text
Added right-hand side side panel that shows three different information options:
- Current code with code rule and examples of its use.
- Current journal (most recent date) for reading and editing
- Project memo for reading and editing
- Underline applied to overlapping codes, for identification of overlaps
- Added button to enter and exit the edit text mode
- Ctrl + Z to restore the last coding that was unmarked.
Coding images
- Ctrl + Z to restore the last coding that was unmarked.
- Add menu option to resize and reposition a coded area.
Coding Audio Video
- Ctrl + Z to restore the last coding that was unmarked.
Reports codes
Added statistics summary via check box
Added options to the matrix. So can have codes/categories by file or by case displayed in a table of rows and columns.
Added coding in context checkbox for text codings. This shows the surrounding 250 characters of text to help put the coded section in context in the report. The coded text is shown in bold.
View Graph
- Added button to save graph as a png image.
Special functions
Dynamic text file replacement.
For example, useful for updating a text file of a list of blog posts.
The function works by looking for identical text segments in the replacement file to match the previous codings and annotations.
If the replacement file contains multiple matches, then only the first match is used. So there is potential for inaccuracy.
Tries to match any case assignment also. Again may be inaccurate.
Settings
The number of project backups can be changed.
Changed how to select another coder name and how to enter a new coder name.
Issues identified in this release
-
Moderate error
Deleting a text transcript file sometimes does not work. If it does not delete using the Mange Files deletion and shows a Programming Error, follow these steps:
Let us say as an example the transcript file id is 999
Then go to Reports > Sql Statements
In the the top box enter each of these statements and run each one, one at a time:
delete from source where id = 999
Then press the Cogs button
delete from code_text where fid = 999
Then press the Cogs button
delete from annotation where fid = 999
Then press the Cogs button
delete from case_text where fid = 999
Then press the Cogs button
delete from attribute where attr_type ='file' and id=999
Then press the Cogs button -
Moderate error
Uncaught IndexError exception when editing text positions from within code text. You can also edit text via Manage Files then open the text file. -
Minor error
AttributeError updating Tooltips when merging codes
Install from source
Windows
Consider using a virtual environment to avoid clashes with other install python software, I have not tested using venv on a Windows intallation yet.
Download the QualCoder zip. Then, unpack the file in a selected place (e.g. desktop).
Download and install the Python programming language. The minimum recommended version for QualCoder is 3.6. Python3. Download the file (at the bottom of the web site) "Windows installer (64-bit)" IMPORTANT: in the first window of the installation mark the option "Add Python to PATH"
Install python modules from command. Type "cmd" in the Windows Start search engine, and click on the black software "cmd.exe" - the command console for Windows. In the console type or paste, using the right-click context menu (ctrl+v does not work) the following:
py -m pip install wheel pyqt5 lxml Pillow ebooklib ply chardet pdfminer.six openpyxl pydub SpeechRecognition
Wait, until all modules are installed .
Build and install Qualcoder, from the downloaded folder type
py setup.py install
The py command uses the most recent installed version of python. You can use a specific version on your Windows, if you have many python versions installed, e.g. py -3.8 See discussion here: Difference between py and python
Run QualCoder from cmd.exe Move to the QualCoder-master folder, then type
py -m qualcoder
Ubuntu
It is best to run QualCoder inside a python virtual environment, so that the system installed python modules do not clash and cause problems.
Install venv I am using python3.9 you can choose another recent version if you prefer.
sudo apt install python3.9-venv
Download and unzip the Qualcoder folder.
Open a terminal and move (cd) into that folder. You should be inside the QualCoder-master folder or if using a release, e.g. the Qualcoder-2.9 folder. Inside the QualCoder-master folder:
python3.9 -m venv qualcoder
Activate venv, this changes the command prompt display using (brackets): (qualcoder) Note: To exit venv type deactivate
source qualcoder/bin/activate
Install the needed python modules.
pip install lxml ply six pdfminer chardet pyqt5 pillow pdfminer.six openpyxl ebooklib pydub SpeechRecognition
Install QualCoder, type the following, the dot is important:
python3 -m pip install .
You may get a warning which can be ignored: WARNING: Building wheel for Qualcoder failed
To run type:
qualcoder
After all this is done, you can deactivate to exit the virtual environment. At any time to start QualCoder in the virtual environment, cd to the Qualcoder-master (or Qualcoder-2.9 release folder), then type:
source qualcoder/bin/activate
Then type:
qualcoder
QualCoder 2.8
Cosmetics:
Added window icon for Windows.
Applied greater contrast tooltip background in light mode.
Code counts added in tree in code summary report.
Coding changes:
Code text:
- Search for text, added right-click context menu for automatic defaults for finding text (minimum 3 or 5 characters, or search only after pressing Enter).
- Added buttons to show all annotations and all coded memos for selected file.
- Right-hand side splitter opens a pane that shows 3 options: (1) the current selected code, the code memo and examples where that code has been used. (2) Current journal (based on the most recent journal date) so that the journal entry can be updated while coding. (3) Project memo, for viewing and editing.
New function: Code by case.
You can select a case and code the files or text file portions assigned to that case. There is some reduced functionality compared to the existing Code Text and Code AV functions:
- in text files: no autocoding - due to risk of auto coding non-case assigned text portions.
- in A/V files only duration segments can be coded, the associated text file is not shown - due to file conflicts in how the data structure works in Code by Case.
The code by case function will be useful when importing a survey and one or more of the survey columns is designated 'qualitative'. The qualitative data are converted into a single text entry on import. Sections of this text are assigned to the relevant case (relevant survey row) and can then be coded for each case (survey row entry).
Reports:
- New - Code comparison by file to compare two coders for the selected code and selected file.
- Code relations now shows the coded text. Right-click on the row will show the two codes in that row in the original context.
Manage files:
- A new file icon with black T and red play arrow - This indicates database transcription text associated with an audio/video file.
- Also changed the database structure so that the '.transcribed' ending is not needed, and in the future may allow edits to the file name.
SQL statements
Can save SQL statements for later use. SQL statements can be deleted via right-click menu option.
Database modifications:
- Added codername to project table.
- Added av_text_id to source to link audio/video file to transcript file,
to identify a text file linked to an A/V file. Now adds .txt suffix. - Added stored_sql table and functionality.
NOTE: transcriptions created in this newer version will not be recognised if opened with an earlier QualCoder Version. As this newer version does not apply the '.transcribed' suffix which older versions look for.
Fixed errors:
-
A 'lost' category. A lost category has a parent category, but the parent is no longer present. These lost categories are turned into parent categories on opening the project.
-
Case attributes could be deleted when opening Manage Files - error fixed.
-
Several minor None-type errors fixed.
Post release bugs
Minor: Selecting Case Order in Manage Files.
Medium: Manage bad links to files. Dialog does not open.
Run Reports > SQL Statements to update the link.
Example SQL statement below, where the Documents folder is the correct path to the file. Please keep the initial prefix of 'audio:' or 'video:' or 'images:' as QualCoder needs this prefix.
update source set mediapath="audio:C:/Users/username/Documents/myfile.wav" where mediapath="audio:C:/Users/username/Downloads/myfile.wav"
Medium: Deleting a source creates an error rather than delete the source.
===================
INSTALLATION AND RUNNING
Windows 10 exe
This release contains a Windows 10 exe created using pyinstaller.
Please ensure you have a current 64 bit VLC installed for QualCoder to work.
The exe may run on older Windows version also.
Linux installation
Prerequisites
You will need to have a python3.6
or newer version installed.
You will also need to have a recent VLC player installed - for audio and video.
Debian-based Linuxes:
Install these modules from the command line
sudo apt install python3-lxml python3-ply python3-six python3-pdfminer python3-chardet python3-pyqt5 python3-pillow
On some Linux versions you will need to install pip
sudo apt install python3-pip
You also need to run this command from the terminal for pdf importing:
sudo python3 -m pip install pdfminer.six openpyxl ebooklib
In the terminal, Go to the QualCoder-2.8 folder, type:
sudo python3 setup.py install
To run type:
qualcoder
Alternatively, go to the qualcoder directory and type:
python3 __main__.py
Fedora
I have not added installation instructions here - as I cannot test them. Try the installation instructions on the main QualCoder page.
MacOS
I have not added installation instructions here - as I cannot test them. Try the installation instructions on the main QualCoder page.
QualCoder 2.7
Change to module importing
Now uses relative imports.
Fixed bugs:
Coding text: when searching for text and the 'all files' option is selected, an error occurs. (due to an upgrade in another functionality). Fixed.
Case deletion: This can affect the case attributes for multiple cases. Fixed.
Functionality:
Added dark mode. Activate in Settings.
Added search text function in Journals and in Manage Files > view audio/video file.
Improved overly sensitive code extension and reduction keys in Code text(Shift or Alt + Left or Right arrow).
Added new auto-code function in Code text. This function uses start and end marks for autocoding. It includes all of the start mark and stops just before the end mark. The line ending character is '\n'.
Added Important function to coding. This flags coded text, AV, images as important codes. To use for exemplars.
Added files filter when coding text, AV, images. This shows a filtered list of files, based on attribute values selected.
Added 'I' shortcut in code text code av text to mark important
The codes tree - can now merge one category into another category.
Improved importation of file variables from REFI-QDA Projects.
Improved exportation of REFI-QDA Project file.
Added ctid unique autointeger column to the code_text database table.
This also updates older QualCoder projects, when opened.
Can now edit coded text files while the text file contains coded/annotated/case-assigned text. Avoid selecting text chunks and deleting or pasting text across selected text chunks which contain combinations of unmarked text sections and marked coded/annotated/case-assigned sections. As this will not update those assigned text segments correctly.
Reports:
Added function to report on annotation in a text file.
Added function to add reporting memos: Options: None, Coded text memos, All memos.
Post-release bugs
- Sometimes a category is incompletely deleted. If you find some reports are taking forever to run and nothing is occurring run the following line in Reports_SQL to show the category and fix the slow reports running (fixed in 2.8 version):
update code_cat set supercatid=null where supercatid is not null and supercatid not in (select catid from code_cat)
- The case variables (attributes) can be deleted, due to a bug in ManageFiles. So for now, do not make use of case attributes. Bug fixed in the upcoming 2.8 version. (File deletion may affect case attributes also, as a part of this bug).
Installation and running QualCoder:
Windows:
Install VLC from https://www.videolan.org/vlc/ or from the Windows Store.
8 July 2021. For this release for the first time, I have created an exe for Windows 10, 64 bit using pyinstaller. You still need to install VLC above. Double-click the QualCoder exe to run.
For manual install:
Download the QualCoder-2.7.zip and extract it. Download and install the Python programming language https://www.python.org/downloads/windows/. The minimum version that works for QualCoder is python 3.6. Download the file (at the bottom of the web site) "Windows installer (64-bit)" (or 32-bit if you have an older system) and install Python. IMPORTANT: in the first window of the installation mark the option "Add Python to PATH"
Install extra modules to Python. Type the letters "cmd" in the Windows Start searching engine, and click on the black software "cmd.exe" - this is the command console for Windows. In the console paste, using the right-click context menu (ctrl+v does not work) the following:
py -m pip install pyqt5 lxml Pillow ebooklib ply chardet pdfminer.six openpyxl
Then click enter. Wait, until all modules are installed (the command phrase should be again visible: "C:\Users[Your Windows account name]> or similar).
Run QualCoder from cmd.exe Move to the QualCoder-2.7 folder. Then type py -m qualcoder
Or run by double-click. Open the QualCoder-2.7\qualcoder folder. Double-click the __main__.py file to run. You can make a shortcut to this file and keep the shortcut on the desktop.
Linux:
Install these modules from the terminal:
sudo apt install python3-lxml python3-ply python3-six python3-pdfminer python3-chardet python3-qt5 python3-pillow
On some Linux versions you will need to install pip
sudo apt install python3-pip
sudo python3 -m pip install pdfminer.six openpyxl ebooklib
In the terminal, Go to the QualCoder-2.7 folder, then type:
sudo python3 setup.py install
To run. From the terminal type:
qualcoder
This release does not include a Debian install package.
Windows exe
I have added a Windows 10 exe for 64bit Windows:
Exe developed using: PyInstaller: 4.2; Python: 3.8.0 on Windows-10-10.0.19041-SP0
There are some minor changes in the __main__.py file compared to the source zip to assist loading translation files.
MacOS
Install recent versions of Python3 and VLC.
Download the latest release "Source code" version in ZIP format, from the releases section of the project here on Github: https://github.com/ccbogel/QualCoder/releasesDownload and extract it into /Applications
Open the Terminal app (or any other command shell)
Install PIP (if not yet installed, try typing pip3 --version and hit ENTER)
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
-> You should now be able to run pip3 as above.
Install Python dependency modules using pip:
(you might already have them, don't do this again if you just update QualCoder to a newer version)
pip install pyqt5 lxml pillow six ebooklib ply chardet pdfminer.six openpyxl
Install system dependencies using Homebrew (aka brew)
6.1) Install brew if do not already have it (try typing brew and hit ENTER):
Follow instructions here about installing Homebrew on your macOS: https://brew.sh/
6.2) Install QPDF package (needed to deal with PDF files) using Homebrew package manager:
brew install qpdf
From the QualCoder-Master directory run this command:
python setup.py install
To Run:
python3 /applications/QualCoder-2.7/qualcoder/__main__.py
You can install QualCoder anywhere you want, so the path above depends on where you extracted the archive.
Another option to run Qualcoder is shown here: https://www.maketecheasier.com/run-python-script-in-mac/. This means you can right-click on the main.py file and open with --> python launcher. You can make an alias to the file and place it on your desktop.
Another option to install on Mac:
Open the Terminal App and move to the unzipped Qualcoder-Master directory, then run the following commands:
pip install -U py2app or for a system installation of python sudo pip install -U py2app
python3 setup.py py2app