Skip to content
Boris Buliga edited this page Nov 22, 2025 · 4 revisions

Why focus solely on wine and not generalise Vino for other use cases like tea, coffee, or books?

While parts of Vino's codebase could theoretically be adapted for tracking other collections, such as tea or books, my primary interest lies in wine. This focus ensures a more dedicated and refined tool, adhering to the principle that striving for perfection in every domain might detract from achieving excellence in one. However, I'm open to discussing and assisting with adaptations for other use cases. If you're interested in using Vino for something other than wine, I'd be delighted to hear your ideas and explore potential solutions together.

Why choose Vino over services like Cellar Tracker or Vivino?

My preference for Vino stems from a desire for data ownership, flexibility, and a tool conducive to learning about wine. Here are the main reasons for choosing Vino over services like Cellar Tracker or Vivino:

  • Data Ownership: With Vino, your data is entirely yours.
  • Customisation and Control: You can modify and correct data as needed.
  • Offline Access: Vino doesn't require an internet connection.
  • Learning Tool: Vino is designed to enhance your understanding and appreciation of wine.
  • No Limitations: There's no cap on the amount of information you can record.
  • Extensibility: Vino can be tailored and extended to fit your needs, thanks to Vulpea it is built upon.

Despite these advantages, I still use Vivino occasionally for:

  • Reading tasting notes from respected individuals, aiding in discovering new and interesting wines.
  • Sharing some of my notes with the local community, although my primary platform is Barberry Garden, which is built on top of Vino.

So, it's perfectly feasible to use both Vino and other services in tandem!

Why orange wine is not included as colour out of the box?

While the concept of orange wine is straightforward, defining the boundary between white and orange wines is less clear. One might argue that any deliberate skin contact qualifies a wine as orange, but I am not convinced. Additionally, the influence of maceration varies by grape variety. In my view, maceration is simply a winemaking technique, akin to oak ageing. It's an important detail to note, but not a defining characteristic.

That being said, if you believe otherwise, you can easily change the value of vino-colour-types to include orange.

Troubleshooting

Common Issues and Solutions

"Symbol's function definition is void: vulpea-setup"

Problem: You're trying to call vulpea-setup which doesn't exist in Vulpea v2.

Solution: Vulpea v2 uses a different initialization approach. Instead of vulpea-setup, configure Vulpea like this:

(setq vulpea-db-location (expand-file-name "vulpea.db" org-directory)
      vulpea-db-sync-directories (list org-roam-directory))
(vulpea-db-autosync-mode +1)

See the updated setup guide for complete instructions.

"Cannot find wine entry" or "Note not found"

Problem: Vino can't locate notes you know exist.

Possible causes and solutions:

  1. Database not synced: Run (vulpea-db-sync-full-scan 'force) to force a complete database rebuild.
  2. Wrong sync directories: Ensure vulpea-db-sync-directories includes the directory containing your wine notes.
  3. Missing tags: Verify your notes have the correct tags (e.g., wine and cellar for wine entries). Check with C-c C-q in the note.
  4. Autosync disabled: Ensure vulpea-db-autosync-mode is enabled.

"Wrong type argument" errors

Problem: Getting type errors when using Vino functions.

Common causes:

  1. Incorrect vino-rating-props format: Verify your configuration matches the expected structure. The outer list should contain version numbers as keys:

    ;; Correct
    (setq vino-rating-props `((1 . (("SCORE" . ,vino-rating-scale)))))
    
    ;; Wrong - missing version wrapper
    (setq vino-rating-props `(("SCORE" . ,vino-rating-scale)))
  2. Scale/precision mismatch: Ensure vino-rating-scale is a float and vino-rating-precision is an integer:

    (setq vino-rating-scale 5.0      ; Must be float
          vino-rating-precision 1)   ; Must be integer

Notes are not updating after changes

Problem: You've modified a note but changes aren't reflected in Vino.

Solution:

  1. If vulpea-db-autosync-mode is enabled, save the buffer (C-x C-s) and wait a moment for the database to update.
  2. If changes still don't appear, manually sync: (vulpea-db-update-file (buffer-file-name))
  3. For wine entries with linked notes, run M-x vino-entry-update to synchronize all related data.

Template variables not expanding

Problem: Template variables like ${timestamp} or ${slug} appear literally in filenames.

Solution: Ensure you're using the new Vulpea v2 template syntax. Replace old-style time formats:

;; Old (doesn't work)
'(:file-name "wine/grape/%<%Y%m%d%H%M%S>-${slug}.org")

;; New (correct)
'(:file-name "wine/grape/${timestamp}-${slug}.org")

Rating calculations seem incorrect

Problem: The final rating doesn't match your expectations.

Troubleshooting steps:

  1. Check the averaging method: The default is arithmetic mean. Verify vino-entry-rating-average-method is set as expected.
  2. Verify rating precision: Check vino-rating-precision - it determines rounding.
  3. Review individual ratings: Use M-x vino-entry-find-file to open the wine entry and examine the linked rating notes.
  4. Recalculate: Run M-x vino-entry-update on the wine entry to recalculate from scratch.

"Database is locked" errors

Problem: Getting SQLite database lock errors.

Solutions:

  1. Check if another Emacs instance is accessing the same database.
  2. Ensure no external programs are locking the database file.
  3. If the issue persists, close Emacs, delete any .db-wal or .db-shm files next to your database, and restart.

Getting Help

If you encounter issues not covered here:

  1. Check the wiki documentation for detailed guides.
  2. Review Vulpea v2 documentation for database-related issues.
  3. Search existing GitHub issues.
  4. Open a new issue with:
    • Your Vino and Vulpea versions
    • Minimal reproduction steps
    • Relevant configuration
    • Error messages (use M-x toggle-debug-on-error to get full backtraces)

Clone this wiki locally