Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building Teedy from the sources #774

Open
Netlantique opened this issue Jan 29, 2025 · 2 comments
Open

Building Teedy from the sources #774

Netlantique opened this issue Jan 29, 2025 · 2 comments

Comments

@Netlantique
Copy link

Hi,

I'm encountering an issue while trying to build Teedy from the repository. I followed all the instructions and installed all the required dependencies on a fresh Ubuntu installation.

The problem occurs when I test the build locally. After starting Jetty and accessing the interface via http://localhost:8080, I see a directory listing of the webapp folder instead of loading the web resources from the src/ folder. If I manually click on the src/ folder in the listing, the login page displays correctly.

I attempted to resolve this by moving all web resources from the src/ folder to the root of the webapp folder. While this allowed the interface to load initially, it broke other functionality—for example, images from docs-web/src/main/resources/image no longer appear.

Additionally, I compared the .war file generated by Maven with the docs.war from the original Docker image, and the structure is different. I’m unsure what might be causing this discrepancy.

Do you have any suggestions on how to fix this issue?

Thanks in advance for your help!

@Netlantique
Copy link
Author

Hi,
I also found that on the GitHub repository, the index.html differ from the index.html from the Docker image.
This seems to cause display issue when I try to compile from sources.

From Repo :

<head>
 <title ng-bind-template="{{ pageTitle ? pageTitle : appName }}">Teedy</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 <meta name="renderer" content="webkit" />
 <link rel="shortcut icon" href="../api/theme/image/logo" />
 <link rel="manifest" href="manifest.json" />
 <!-- ref:css style/[email protected]@ -->
 <link rel="stylesheet" href="style/bootstrap.css" type="text/css" />
 <link rel="stylesheet" href="style/fontawesome.css" type="text/css" />
 <link rel="stylesheet" href="style/colorpicker.css" type="text/css" />
 <link rel="stylesheet" href="style/pell.css" type="text/css" />
 <link rel="stylesheet" href="style/ng-onboarding.css" type="text/css" />
 <link rel="stylesheet/less" href="style/main.less" type="text/css" />
 <!-- endref -->
 <link rel="stylesheet" href="../api/theme/stylesheet" type="text/css" id="theme-stylesheet" />
 <!-- ref:remove -->
 <script>
   less = {
     env: 'development', // or "production"
     async: false,       // load imports async
     fileAsync: false,   // load imports async when in a page under a file protocol
     poll: 1000,         // when in watch mode, time in ms between polls
     dumpLineNumbers: 'all' // or "mediaQuery" or "comments"
   };
 </script>
 <!-- endref -->
 <!-- ref:js [email protected]@ -->
 <script src="lib/jquery.js" type="text/javascript"></script>
 <script src="lib/jquery.ui.js" type="text/javascript"></script>
 <script src="lib/less.js" type="text/javascript"></script>
 <script src="lib/underscore.js" type="text/javascript"></script>
 <script src="lib/colorpicker.js" type="text/javascript"></script>
 <script src="lib/pell.js" type="text/javascript"></script>
 <script src="lib/angular.js" type="text/javascript"></script>
 <script src="lib/angular.translate.js" type="text/javascript"></script>
 <script src="lib/angular.sanitize.js" type="text/javascript"></script>
 <script src="lib/angular.touch.js" type="text/javascript"></script>
 <script src="lib/angular.tmhDynamicLocale.js" type="text/javascript"></script>
 <script src="lib/angular.ui-router.js" type="text/javascript"></script>
 <script src="lib/angular.ui-bootstrap.js" type="text/javascript"></script>
 <script src="lib/angular.ui-sortable.js" type="text/javascript"></script>
 <script src="lib/angular.ui-validate.js" type="text/javascript"></script>
 <script src="lib/angular.restangular.js" type="text/javascript"></script>
 <script src="lib/angular.colorpicker.js" type="text/javascript"></script>
 <script src="lib/angular.file-upload.js" type="text/javascript"></script>
 <script src="lib/angular.ngprogress.js" type="text/javascript"></script>
 <script src="lib/angular.qrcode.js" type="text/javascript"></script>
 <script src="lib/angular.timeago.js" type="text/javascript"></script>
 <script src="lib/angular.ng-onboarding.js" type="text/javascript"></script>
 <script src="app/docs/app.js" type="text/javascript"></script>
 <script src="app/docs/controller/Login.js" type="text/javascript"></script>
 <script src="app/docs/controller/Main.js" type="text/javascript"></script>
 <script src="app/docs/controller/ModalPasswordLost.js" type="text/javascript"></script>
 <script src="app/docs/controller/ModalFeedback.js" type="text/javascript"></script>
 <script src="app/docs/controller/ModalImport.js" type="text/javascript"></script>
 <script src="app/docs/controller/PasswordReset.js" type="text/javascript"></script>
 <script src="app/docs/controller/Navigation.js" type="text/javascript"></script>
 <script src="app/docs/controller/Footer.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/Document.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/DocumentDefault.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/DocumentEdit.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/DocumentView.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/DocumentViewContent.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/DocumentViewWorkflow.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/DocumentViewPermissions.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/DocumentViewActivity.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/DocumentModalShare.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/DocumentModalPdf.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/DocumentModalAddTag.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/FileView.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/FileModalView.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/FileRename.js" type="text/javascript"></script>
 <script src="app/docs/controller/document/ModalFileVersions.js" type="text/javascript"></script>
 <script src="app/docs/controller/tag/Tag.js" type="text/javascript"></script>
 <script src="app/docs/controller/tag/TagEdit.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/Settings.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsDefault.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsAccount.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsConfig.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsInbox.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsSecurity.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsSecurityModalDisableTotp.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsSession.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsMonitoring.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsWorkflow.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsWorkflowEdit.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsUser.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsUserEdit.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsGroup.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsGroupEdit.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsVocabulary.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsMetadata.js" type="text/javascript"></script>
 <script src="app/docs/controller/settings/SettingsLdap.js" type="text/javascript"></script>
 <script src="app/docs/controller/usergroup/UserGroup.js" type="text/javascript"></script>
 <script src="app/docs/controller/usergroup/UserProfile.js" type="text/javascript"></script>
 <script src="app/docs/controller/usergroup/GroupProfile.js" type="text/javascript"></script>
 <script src="app/docs/service/User.js" type="text/javascript"></script>
 <script src="app/docs/filter/Filesize.js" type="text/javascript"></script>
 <script src="app/docs/directive/SelectTag.js" type="text/javascript"></script>
 <script src="app/docs/directive/SelectRelation.js" type="text/javascript"></script>
 <script src="app/docs/directive/AuditLog.js" type="text/javascript"></script>
 <script src="app/docs/directive/ImgError.js" type="text/javascript"></script>
 <script src="app/docs/directive/Acl.js" type="text/javascript"></script>
 <script src="app/docs/directive/AclEdit.js" type="text/javascript"></script>
 <script src="app/docs/directive/Pell.js" type="text/javascript"></script>
 <script src="app/docs/directive/AddSpaceBetween.js" type="text/javascript"></script>
 <script src="app/docs/directive/InvertTextColor.js" type="text/javascript"></script>
 <!-- endref -->
</head>

Index.html extracted from the docker image :

<head>
    <title ng-bind-template="{{ pageTitle ? pageTitle : appName }}">Teedy</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="renderer" content="webkit" />
    <link rel="shortcut icon" href="api/theme/image/logo" />
    <link rel="manifest" href="manifest.json" />
    <link rel="stylesheet" href="style/style.min.css?1725741301425">
    <link rel="stylesheet" href="api/theme/stylesheet" type="text/css" id="theme-stylesheet" />

    <script src="docs.min.js?1725741301425"></script>
  </head>

Thanks !

@WilliamFromTW
Copy link

try use "mvn -Pprod -DskipTests clean install" instead of "mvn clean -DskipTests install"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants