What of "Unique Handle"?

I must acknowledge that UNA is a wonderful framework even though as porwerful as it has been I keep thinking of a few things for tomorrow which can find full application for today.

A lot of people are on stuffs designed for the world and lets take a single sinario where a lot of organizations and individuals signs up on a platform running on UNA, "How do people refrence their pages on Postcards, Letterheads, Business Cards and even mentions on Radios, TVs etc"?

There is need for something neater than the present links we see on the address bars. My Question is Can We Get This To Life Now? 

Facebook has this and I think UNA is out to beat the status quo. We need to be upfront. 

A web handle like, dediary(dot)com/mypage is more presentable than dediary(dot)com/page/view-persons-profile?id=1 to the public . I see this as a potential drawback. Whats your take guys?

  • 1930
  • More
Replies (22)
    • Yes Ded, I agree with you, and I'm afraid it's also about SEO. But look here, I think something is planned about it ...

      Also I have a question that comes to mind Andrew Boon , if you change the URLs in 10 and that my site is already launch and well referenced, will not that be a problem for search engines?

      • As Baloo quoted - we do plan to improve URLs for users by using an ID hash rather than an actual module prefix and real ID. The reason for doing that is to hide the actual number of users to avoid that "network is too small" effect, and also simplify the URL.

        To answer Baloo - yes, the change could be a problem for already indexed profile URLs, so along with the change, we will provide instructions for setting permanent redirects for old URLs to maintain continuity and preserve links. 

        As for URLs like, say "site.com/username", also known as "Vanity URLs", we would rather not to that, to be honest. Here's why:

        - First, using /page/ prefix for UNA-powered content is important. You site may end have other software installed, or will have something installed in the future, which may need to use certain URLs names in the root domain. You may also want to relocate entire UNA installation to another domain or a subfolder in the future and having /page/ in URLs helps to identify and redirect them correctly when needed. 

        - Second, allowing vanity URLs in the root or even in /page/ is problematic as those may clash with other pages requiring same names, some of which we can't account for. For example, someone takes a handle like /about. Then, you'd be unable to create a page /about with same address. Or worse, if someone creates a URL that matches a URL used by a module you install at a later stage. 

        - Third, if you allow identifying "names" in URLs, you'd have to allow them to be editable. Say, in case someone makes a mistake or wants to change their name later. If they do, plenty of external links and mentions would break. 

        All in all - it is possible, but not at all simple to implement vanity URLs. It's a kind of feature that may bring a lot of complexity for very little gain. After the planned update, we'd have URLs like, say, "site.com/page/2a37s89" or similar. I believe that'd do the job.

        • Thanks Andrew, good to hear of the plan to have something tidier than it is now. "site(dot)com/page/2a37s89" is still ok for the desired purpose. Tnx

          • Thank you Andrew, here is a series of convincing arguments and I confirm what you say by my experience in Dolphin, especially in the forums where people make gigantic mistakes in the titles that I must go immediately correct in the data base , in the title and in the url. It is true that on UNA this is no longer a problem and it is very valuable for me and for the user.
            True as if Dolphin had been designed this way, it would have been much easier to migrate a Dolphin site to UNA whether you change your address or not, but as this is not the case, impossible to consider a redirection.
            I did well to ask this question, and I did well to get your attention for the answer ;-)

            • We have the similar ticket to make https://github.com/unaio/una/issues/1091 

              • Considering I've had many members ask me 'How' they can post a link to their profile at my site to other websites (Twitter, FB, Gab, etc), I think this would be a great feature to have. Most all other social networking site have this already so, I do not see why UNA can't as well. If nothing else, at least having vanity URLs for Profiles. 

                Here is what I was thinking of having that 'might' help refrain from messing up any existing URLs or the possibility of new Apps that get installed. Not sure if this is able to be done but what about this?

                Create a table called something like sys_accounts_links or maybe sys_account_vanity

                This table can contain fields labeled vanity_name and vanity_link (use whatever you want - more fields may be required)

                All users to go into Settings > Account and add the Profile Name they want to use such as this (pre-populating your actual website URL):

                Note: Members should be to use something different other than their 'Account Name' if they choose.

                xgzcmeuypcptbzjmfe8phcvzxj9yhmnf.png

                In the database table referenced above, you would see something like this:

                vanity_name: Administrator

                vanity_link: https://www.mywebsite.com/page/view-persons-profile?id=1 

                Have a function somewhere that would automatically 're-direct' anyone who puts in https://www.mywebsite.com/Administrator  to the actual link of https://www.mywebsite.com/page/view-persons-profile?id=1

                Since the page/view-persons-profile?id= is specific to ONLY viewing a person's profile, this should keep from causing any other issues with other apps.

                This field should have a 'Validation' assigned to it with the following:

                - Must be Unique

                - Must be AlphaNumeric

                - Contain no spaces or special characters

                - Field is Editable

                Once a member submits this in the Edit Profile, the Full URL (https://www.mywebsite.com/Administrator) should be visible in the member's actual Profile page in the 'Info' section so they can easily copy/paste this URL where ever they choose. 

                Piece of Cake right? 😁😁 

                •  Maybe you could just incorporate this into the existing sys_accounts table? 

                  • Thank you Chris  for your suggestions, as Baloo pointed out we'll implement it in the future versions:

                    https://github.com/unaio/una/issues/1091

                    • As I'm watching the development of UNA, this item that's STILL opened from RC7 back in Feb 2018?  This is a critical need - not an enhancement in my book!

                      • Initially we planned it for RC7 then RC8 and RC9 but finally because of many core changes we've moved it to v.10 where we can add more significant changes.

                        • Just look how wordpress has done that. It works fine. 

                          • I would love to see pretty URLs also, especially for User/Organization Profiles. All of them allow for the user to define the value or it's set to something like their username. 

                            Examples from other networks:

                            LinkedIn: https://www.linkedin.com/in/keithsmith 

                            Facebook: https://www.facebook.com/keithsmith

                            Discourse forum software (used by thousands of sites): https://meta.discourse.org/u/gerhard  

                            Vanilla forum software: https://forums.oculusvr.com/community/profile/kojack    

                            NodeBB software: https://community.nodebb.org/user/psychobunny   

                            • until then you could use a sub-domain within your c panel  to hide that member id by pointing it to the members profile url i plan on doing this shortterm now i know this is coming :D

                              • We discussed this before, here are examples from my production UNA site;
                                Personal profile:
                                https://www.hekim.net/doktor/dundar-yaykiran-p811a2391
                                Organization Profile:
                                https://www.hekim.net/doktor/prof-dr-petek-balkanli-kadin-hastaliklari-ve-dogum-jinekolojik-onkoloji-istanbul-o70a2311

                                Blog
                                https://www.hekim.net/doktor/prof-dr-petek-balkanli-kadin-hastaliklari-ve-dogum-jinekolojik-onkoloji-istanbul-o70a2311/bilgi/kadin-hastaliklarinda-laparoskopik-ve-jinekolojik-cerrahi-bl181/

                                Video
                                https://www.hekim.net/doktor/uzm-dr-semra-akkus-akman-cocuk-sagligi-ve-hastaliklari-pediatri-bahcelievler-istanbul-o58a2123/videolar/meningokok-b-asisi-vi186/

                                this method can be applied to all content modules.
                                The change of titles does not brake the links.
                                Users may have same titles as the link is referred from the last part of the url
                                ........o70a2381, ..........bl181,............vi186
                                SEO friendly
                                Also profiles and blogs has schema code auto inserted
                                Since I applied this to my web site blogs and profiles are listed in the very first pages.

                                • As at 5 months ago, it's tagged for the future. Indefinite. 

                                  Can you please give details of how to get this done individually?

                                  I will like to put this to test and see how it can better my struggle in the blog module.

                                  Can you Cem ?

                                  • What I did is writing another simple layer over UNA which makes the changes to the code in the buffer before it is sent to the browser. This way I was able to make any systematic changes in the resulting page.
                                    I can publish all code here but:

                                    • I am not a programming  professional, so this is not a professional level program
                                    • it is specific to my site, not generic.
                                    • I can not provide any further support for it

                                    But if you want to see the code just to inspire for a solution, I will publish.

                                    • Programmers are not born, they are made. Let's have it and see how it goes.

                                      • DeDiary here is the code for SEO friendly URLs and schema code insertion in the attachment.
                                        IN fact his code creates a functional layer on the resulting UNA page and edits the page just before it's sent to browser. So by the methods applied there any change can be done very easily.
                                        (Using place holders in raw blocks and replacing them with your code is very convinient.)
                                        Please note that this code is specific to my site with many additional fields on persons and organisations profiles as well as sys_accounts table.
                                        Unfortunately as I didnt think to share this code variable names are in my language.

                                        This is the code for page.php.  There is no other UNA file to change.
                                        Please note that besides the simple questions, I can not give support for this code and I am putting here just to present a temporary solution until UNA develops SEO friendly URLs and schema etc. For sure there will be better solutions, but for now this is working perfectly for me.
                                        This code takes a fraction of a second. Resulting URLs will be like this:

                                        Personal profile:
                                        https://www.hekim.net/doktor/dundar-yaykiran-p811a2391
                                        Organization Profile:
                                        https://www.hekim.net/doktor/prof-dr-petek-balkanli-kadin-hastaliklari-ve-dogum-jinekolojik-onkoloji-istanbul-o70a2311

                                        Blog
                                        https://www.hekim.net/doktor/prof-dr-petek-balkanli-kadin-hastaliklari-ve-dogum-jinekolojik-onkoloji-istanbul-o70a2311/bilgi/kadin-hastaliklarinda-laparoskopik-ve-jinekolojik-cerrahi-bl181/

                                        Video
                                        https://www.hekim.net/doktor/uzm-dr-semra-akkus-akman-cocuk-sagligi-ve-hastaliklari-pediatri-bahcelievler-istanbul-o58a2123/videolar/meningokok-b-asisi-vi186/

                                        ıt is needed to apply mod rewrite settings in apache htaccess or nginx configuration files.
                                        For NGINX my confs are like:

                                        rewrite ^/doktor/bloglar&type=&start(.+) /doktor/page.php?i=posts-home&type=&start$1 last;
                                        rewrite ^/doktor/bloglar/arama /doktor/page.php?i=posts-search last;
                                        rewrite ^/doktor/bloglar/populer /doktor/page.php?i=posts-popular last;
                                        rewrite ^/doktor/bloglar /doktor/page.php?i=posts-home last;
                                        rewrite ^/doktor/sss/arama /doktor/page.php?i=glossary-search last;
                                        rewrite ^/doktor/sss/populer /doktor/page.php?i=glossary-popular last;
                                        rewrite ^/doktor/sss /doktor/page.php?i=glossary-home last;
                                        rewrite ^/doktor/kuruluslar/arama /doktor/page.php?i=organizations-search last;
                                        rewrite ^/doktor/kuruluslar/online /doktor/page.php?i=organizations-online last;
                                        rewrite ^/doktor/kuruluslar/aktif /doktor/page.php?i=organizations-active last;
                                        rewrite ^/doktor/kuruluslar /doktor/page.php?i=organizations-home last;
                                        rewrite ^/doktor/uyeler/online /doktor/page.php?i=persons-online last;
                                        rewrite ^/doktor/uyeler/arama /doktor/page.php?i=persons-search last;
                                        rewrite ^/doktor/uyeler/aktif /doktor/page.php?i=persons-active last;
                                        rewrite ^/doktor/uyeler /doktor/page.php?i=persons-home last;
                                        rewrite ^/doktor/tibbi-makaleler searchKeyword.php?cat=bx_posts_cats&keyword=2§ion[]=bx_posts last;
                                        rewrite \-bl([0-9]+) /doktor/page.php?i=view-post&id=$1 last;
                                        rewrite \-ss([0-9]+) /doktor/page.php?i=view-glossary&id=$1 last;
                                        rewrite \-vi([0-9]+) /doktor/page.php?i=view-video&id=$1 last;
                                        rewrite a([0-9]+)\/(bilgi|blog)\/ /doktor/page.php?i=posts-author&profile_id=$1 last;
                                        rewrite a([0-9]+)\/albumler\/ /doktor/page.php?i=albums-author&profile_id=$1 last;
                                        rewrite a([0-9]+)\/sss\/ /doktor/page.php?i=glossary-author&profile_id=$1 last;
                                        rewrite a([0-9]+)\/fotograflar\/ /doktor/page.php?i=photos-author&profile_id=$1 last;
                                        rewrite a([0-9]+)\/videolar\/ /doktor/page.php?i=videos-author&profile_id=$1 last;
                                        rewrite a([0-9]+)\/dosyalar\/ /doktor/page.php?i=files-author&profile_id=$1 last;
                                        rewrite a([0-9]+)\/anketler\/ /doktor/page.php?i=polls-author&profile_id=$1 last;
                                        rewrite o([0-9]+)a[0-9]+\/yayinlar-sertifikalar-bilimsel-etkinlikler\/ /doktor/page.php?i=yayinlar&id=$1 last;
                                        rewrite o([0-9]+)a[0-9]+\/ozgecmis\/ /doktor/page.php?i=bio&id=$1 last;
                                        rewrite o([0-9]+)a[0-9]+\/iletisim\/ /doktor/page.php?i=organization-profile-info&id=$1 last;
                                        rewrite p([0-9]+) /doktor/page.php?i=view-persons-profile&id=$1 last;
                                        rewrite o([0-9]+) /doktor/page.php?i=view-organization-profile&id=$1 last;

                                        • Thanks Cem I will set it up on test site and see if I can be lucky to get over the language challenge. Thanks for your care.

                                          • because of the edits in the page code some javascripts are broken. You may add this single line to fix it just before the
                                            echo $sayfaduzenlenmis line.
                                            $sayfaduzenlenmis=str_replace(':","',':"","',$sayfaduzenlenmis);

                                            PS:
                                            sayfa: page, variable
                                            sayfaduzenlenmis: edited page, variable
                                            sayfayidegistir: change page, function
                                            adbul: find name, function
                                            urlyap: built url, function
                                            content_idden_adbul: find names from content id, function

                                            • Thanks Cem, noted

                                              • Hi Cem I have been busy on other things and just trying to see to this. But the attachment is not downloadable, it's trying to rather open as a page, could you please get it zipped for me?

                                                Thanks

                                                Login or Join to comment.